首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php基于文本框文本动态生成图像

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

Stack Overflow用户
提问于 2014-09-17 03:56:33
回答 2查看 1.2K关注 0票数 0

我想在文本框旁边显示一张或一组图片,这个文本框是基于输入的文本的。例如:

代码语言:javascript
复制
If type "cat" it displays image "cat.jpg" or type "ca" it displays "car.jpg" and "cat.jpg"

我正在尝试这样做:

代码语言:javascript
复制
    <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>

但困难在于,我不知道如何在文本框中不提交(当用户输入时)获得文本值。如何在此基础上动态填充图像?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-17 04:37:27

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

代码语言:javascript
复制
<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.php里

代码语言:javascript
复制
<?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>"; 
        } 

    ?>

HTML5为汽车建议提供便利:

代码语言:javascript
复制
<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>

有关参考资料,请参阅:http://devproconnections.com/html5/working-html5-web-forms-autocompletion-and-datalist-element

但重要的是,只有当焦点从输入输出和文本发生变化时,才会发生输入框的变化事件。看起来不太好。

票数 1
EN

Stack Overflow用户

发布于 2014-09-17 04:01:30

你需要一些脚本作为你的图像的来源。然后,您可以通过JavaScript简单地更改图像源,通过文本打印这个脚本的GET参数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25882043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档