【问题标题】:How to make php dynamic queries如何进行php动态查询
【发布时间】:2020-06-01 08:34:30
【问题描述】:

我正在尝试根据用户选择的内容更改查询。就我而言,显示了两张带有从数据库中提取的标签的照片。根据单击的图像,我希望在查询中使用该标签,谁将显示与该标签关联的数据库中的项目。我尝试使用全局变量,但它对我不起作用。在用户点击某些东西后,我无法弄清楚如何将数据插入到查询中

有一个代码片段,我从数据库中提取带有标签的照片,根据我选择的内容,我希望发送和使用 "$modeliai_results['Modelis']"(车辆型号标签)在下面的另一个查询中

<div class="eile">
    <?php
    echo '
    <a href="standartiniskatalogas.php?page=kategorijos"/>
    <img src="data:image/jpeg;base64,'.base64_encode( $modeliai_results['Nuotrauka'] ).'"/>
    <div class="description">'.$modeliai_results['Marke'].' '.$modeliai_results['Modelis'].'
    </div></a>';
?>

第二张图片中的页面应该根据上一页的选择执行查询:

<?php
    $kategorijos_sql="SELECT * FROM kategorijos (HERE SHOULD BE ADDED: "WHERE Modelis='MODEL NAME WHICH WAS SELECTED WHEN PRESSED ON IMAGE'";
    $kategorijos_query=mysqli_query($dbconnect, $kategorijos_sql);
    $kategorijos_results=mysqli_fetch_assoc($kategorijos_query);

do{
    echo '
    <div class="eile2">
    <a href="isore/isore.html">
    <img src="data:image/jpeg;base64,'.base64_encode( $kategorijos_results['Nuotrauka'] ).'"/>
    <div class="description">'.$kategorijos_results['Kategorija'].'</div>
    </a></div>'; /* uzdaro echo*/
    }
    while ($kategorijos_results=mysqli_fetch_assoc($kategorijos_query))
     ?>

ps。我没有使用任何额外的工具或库。

Selecting object Display data associated with object

【问题讨论】:

  • 请阅读How to Ask。您应该向我们描述您实际的具体问题是什么,而不是仅仅向我们展示一些代码 sn-ps 并解释您“想要”什么。
  • 如上所述,问题是我无法根据从数据库中提取的选定项目更改查询
  • 你“不能”是什么意思?我什至在任何地方都没有看到你 try。使用传递的page 参数,您没有在该代码中执行任何操作。
  • 所有糟糕的代码只会让我更难理解我想要完成的事情。正如我所说,我试图将第一个 sn-p 的查询结果分配给全局变量,然后在第二个 sn-p 查询中使用它。但它不起作用。我希望有人会展示如何将查询结果分配给全局变量,然后在不同的查询中使用它。
  • 我怀疑查询可能会立即处理,当我单击将值分配给全局变量时,将其发送到另一个查询为时已晚

标签: php mysql database web


【解决方案1】:

我的错误是我专注于设置全局变量的“onclick”事件,并且该全局变量将用于查询。问题是,带有 java 脚本的 php 不是那么大的朋友,并且会创建不可链接的 URL 到相同的内容。解决方案是使用简单的东西“$_GET”。将 $_GET 分配给某个 php 变量,然后在“href”中使用它。这样,当您使用“a href="'.$variable.'"> bla bla /a>”单击任何类型的对象时,您将被重定向到添加了 URL 尾部的页面,您可以从中访问以在其他查​​询中使用

 <?php
        $model= $_GET['model']; //variable from URL tail  
        $category= $_GET['category'];

        $category_sql="SELECT * FROM service WHERE Model='$model' AND Category='$category'"; //my SQL where i use variables selected from URL
        $category_query=mysqli_query($dbconnect, $category_sql);
        $category_results=mysqli_fetch_assoc($category_query);
        do{

            echo ' //print html together with php code
        <tr class="data">
            <td>
                <a href="catalogue.php? page=service&model='.$model.'&category='.$category.'&service='.$category_results['Name'].'"> //here i make href which when clicked will pass values named with $ sign
<img src="data:image/jpeg;base64,'.base64_encode( $category_results['Image'] ).'"/>//Here i take image from data base
<br><button>'.$category_results['Name'].'</button></a>
            </td>
            <td> <p>'.$category_results['Description'].'</p> //I take values from data base
            </td> 
            <td>'.$category_results['Price'].' &euro;</td>
        </tr>';
    }
    while ($category_results=mysqli_fetch_assoc($category_query)) //loop which cycles through all data base items
         ?>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多