Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php基于文本框文本动态生成图像_Php_Jquery_Textbox - Fatal编程技术网

php基于文本框文本动态生成图像

php基于文本框文本动态生成图像,php,jquery,textbox,Php,Jquery,Textbox,我想根据在文本框中键入的文本,在文本框旁边显示一幅或一组图像。 例如 我正在尝试: <script> $(document).ready(function(){ //do something here??? }); </script> </head> <body> <?php $q=$_GET['q']; $my_data=mysql_real_escape_string($q);

我想根据在文本框中键入的文本,在文本框旁边显示一幅或一组图像。 例如

我正在尝试:

    <script>
$(document).ready(function(){
//do something here???
});
</script>
</head>

<body>
<?php
        $q=$_GET['q'];
        $my_data=mysql_real_escape_string($q);

        $host = 'localhost';
        $db = 'mydb';
        $user = 'username';
        $pass = '';

        mysql_connect($host, $user, $pass);
        mysql_select_db($db);
        $NameImage = mysql_query("SELECT `name` from `mydb`.`mytable` where `description` LIKE '%$my_data%' ORDER BY `name` "); 
        $rowName = mysql_fetch_array($NameImage);


?>
    <label>Tag:</label>
    <input name="tag" type="text" id="tag" size="20"/>  <img src = "myimagepath/<?php echo $rowName[0] ?>.jpg"  height="140">        
</body>
</html>

$(文档).ready(函数(){
//在这里做点什么???
});

您需要一些脚本作为图像源。然后,当您通过文本作为GET参数打印到此脚本时,您可以通过JavaScript简单地更改图像源。

在您的第一个.php文件中,编写以下内容:

<script src="js/jquerymin.js"></script>
<script>
function getImage(value)
{
    $.ajax({
                url: 'getImage.php',
                type: "POST",
                data: {
                    'value' : value,
                },
                beforeSend : function() {                   
                },
                success : function(response) { 

                      $('.main-content').html(response);
                },
                error : function() {                                                
                },
                complete : function() {
                }

            });
}
</script>
<body>
 <label>Tag:</label>
         <input name="tag" type="text" id="tag" size="20" onkeyup="getImage(this.value);"/>       

         <div class="main-content"></div>
</body>
</html>

函数getImage(值)
{
$.ajax({
url:'getImage.php',
类型:“POST”,
数据:{
“值”:值,
},
beforeSend:function(){
},
成功:功能(响应){
$('.main content').html(响应);
},
错误:函数(){
},
完成:函数(){
}
});
}
标签:
在getImage.php中

<?php

        $host = 'localhost';
        $db = 'mydb';
        $user = 'username';
        $pass = '';

        mysql_connect($host, $user, $pass);
        mysql_select_db($db);

        $val = $_POST['value'];
        $sql_img="SELECT `name` from `mydb`.`mytable` where `description` LIKE '%$val%' ORDER BY `name`";
        $result=mysql_query($sql_img, $con);

        while($row=mysql_fetch_array($result)) 
        { 
            echo "<img src='myimagepath/".$row[name]."'/>";
            echo "<br>"; 
        } 

    ?>

你能举个例子吗?我想我没有答对你的问题。是否尝试显示已存在且文件名位于数据库中的图像?你只是想要一个建议,还是想用输入字段中的文本创建一个图像?完美答案!非常感谢。天才!需要注意的一点是:我只是使用mysql将答案发布为您的问题。但是不应该使用mysql。而不是使用mysqli或PDO。为什么会这样?顺便说一句,在我的应用程序中,实际上我可以在用户输入时使用建议,然后他们也可以单击选择建议文本,所以我可以使用类似“onchange”而不是“onkeyup”的任何东西吗?我编辑了答案。但请注意,onchange事件在输入框上看起来并不好看。是的,我知道可以通过html5支持来填充建议。我使用以下方法从DB获取选项:。问题是,当我单击建议的选项时,文本框中的值未被识别为“onchange”(我们是否需要在文档准备就绪时添加一些内容?)。如果我使用“onclick”,那么我必须单击以选择选项,然后再次单击文本框,这并不方便。
<?php

        $host = 'localhost';
        $db = 'mydb';
        $user = 'username';
        $pass = '';

        mysql_connect($host, $user, $pass);
        mysql_select_db($db);

        $val = $_POST['value'];
        $sql_img="SELECT `name` from `mydb`.`mytable` where `description` LIKE '%$val%' ORDER BY `name`";
        $result=mysql_query($sql_img, $con);

        while($row=mysql_fetch_array($result)) 
        { 
            echo "<img src='myimagepath/".$row[name]."'/>";
            echo "<br>"; 
        } 

    ?>
<input type="text"  name="tag" id="tag" list="sometag" onchange="alert(this.value);" />
<datalist id="sometag">
   <select onchange="$('#tag').val(this.value)">
    <?php
        //select option list from data base
    ?>
   </select>
</datalist>