簡體   English   中英

顯示多行MySQL

[英]Show more than one row MySQL

我的搜索結果編碼ID。

我正在顯示搜索結果,目前僅顯示第一個結果,我該如何顯示所有與搜索匹配的結果?

這是我的代碼

      <?php
    $name=$_GET["q"];
    if ($name<=""){echo( "");  
     }
     else
     {
    $con = mysql_connect("localhost","cl49-XXX","XXX");
    if (!$con) 
      {
       die('Could not connect: line 513 ' . mysql_error());
       }
    mysql_select_db("cl49-xxx", $con)or die( "Unable to select database");
    $result=mysql_query("SELECT * FROM products WHERE `prodname` LIKE '$name%' ")or die('Error: Line 519 ('.mysql_error().')' );

    $row = mysql_fetch_array($result);
    $prodID=$row['prodID'];
    $prodname=$row['prodname'];
    $catagory=$row['catagory'];
    }
    echo"
     <div class='row-fluid portfolio-block'>
    <div class='span5 portfolio-text'>
    <img src='userpics/$prodID.jpg' height='80' width='80' alt='' />
    <div class='portfolio-text-info'>
                                                <h4>$prodname</h4>
    <p></p>
        </div>
        </div>
    <div class='span5'>
<div class='portfolio-info'>
Product ID
                                                <span>$prodID</span>
        </div>
  <div class='portfolio-info'>
                                                catagory
                                                <span>$catagory</span>
 </div>
 </div>
  <div class='span2 portfolio-btn'>
  <a href='edit_product.php?q=$prodID' class='btn bigicn-only'><span>View</span></a>                                
    </div>
    </div> ";

   ?>

任何幫助將是巨大的!

像這樣使用while循環: while ($row = mysql_fetch_array($result)) { }

<?php
$name = $_GET["q"];
if ($name <= "") {
  echo ("");
}
else {
  $con = mysql_connect("localhost", "cl49-XXX", "XXX");
  if (!$con) {
    die('Could not connect: line 513 ' . mysql_error());
  }
  mysql_select_db("cl49-xxx", $con) or die("Unable to select database");
  $result = mysql_query("SELECT * FROM products WHERE `prodname` LIKE '$name%' ") or die('Error: Line 519 (' . mysql_error() . ')');
  while ($row = mysql_fetch_array($result)) {
    $prodID = $row['prodID'];
    $prodname = $row['prodname'];
    $catagory = $row['catagory'];
    echo "
     <div class='row-fluid portfolio-block'>
    <div class='span5 portfolio-text'>
    <img src='userpics/$prodID.jpg' height='80' width='80' alt='' />
    <div class='portfolio-text-info'>
                                                <h4>$prodname</h4>
    <p></p>
        </div>
        </div>
    <div class='span5'>
<div class='portfolio-info'>
Product ID
                                                <span>$prodID</span>
        </div>
  <div class='portfolio-info'>
                                                catagory
                                                <span>$catagory</span>
 </div>
 </div>
  <div class='span2 portfolio-btn'>
  <a href='edit_product.php?q=$prodID' class='btn bigicn-only'><span>View</span></a>
    </div>
    </div> ";
  }
}
?>

您必須像這樣遍歷結果:

while($row = mysel_fetch_array($result)){
$prodID = $row['prodID'];
$prodname = $row['prodname'];
$catagory = $row['catagory'];
echo "
<div class='row-fluid portfolio-block'>
   <div class='span5 portfolio-text'>
    <img src='userpics/$prodID.jpg' height='80' width='80' alt='' />
    <div class='portfolio-text-info'>
        <h4>$prodname</h4>
        <p></p>
    </div>
   </div>
   <div class='span5'>
    <div class='portfolio-info'>
        Product ID
        <span>$prodID</span>
    </div>
    <div class='portfolio-info'>
        catagory
        <span>$catagory</span>
    </div>
 </div>
 <div class='span2 portfolio-btn'>
    <a href='edit_product.php?q=$prodID' class='btn bigicn-only'><span>View</span></a>
 </div>
</div> ";
}

仍然很混亂,甚至不建議使用 嘗試切換到mysqli_ *函數或PDO。 然后考慮將代碼封裝在類或至少函數中以進行一些清理。

首先,您需要查找$ result中有多少行代碼... $numberofrows = mysql_num_rows($result) ,然后進行循環,例如for ($i =0; $i<$numberofrows; $i++)和那么您需要回顯周期中獲得的所有行

順便說一句...不建議使用mysql_ *函數,所以您寧願使用PDO或mysqli ...

在一段時間內執行$ row分配,像這樣

<?php
$name=$_GET["q"];
if ($name<=""){echo( "");  
 }else {

 $con = mysql_connect("localhost","cl49-XXX","XXX");
    if (!$con) {
       die('Could not connect: line 513 ' . mysql_error());
       }

    mysql_select_db("cl49-xxx", $con)or die( "Unable to select database");
    $result=mysql_query("SELECT * FROM products WHERE `prodname` LIKE '$name%' ")or die('Error: Line 519 ('.mysql_error().')' );

    while($row = mysql_fetch_array($result)) {
        $prodID=$row['prodID'];
        $prodname=$row['prodname'];
        $catagory=$row['catagory'];

        echo"
             <div class='row-fluid portfolio-block'>
            <div class='span5 portfolio-text'>
            <img src='userpics/$prodID.jpg' height='80' width='80' alt='' />
            <div class='portfolio-text-info'>
                                                        <h4>$prodname</h4>
            <p></p>
                </div>
                </div>
            <div class='span5'>
            <div class='portfolio-info'>
            Product ID
                                                            <span>$prodID</span>
                    </div>
              <div class='portfolio-info'>
                                                            catagory
                                                            <span>$catagory</span>
             </div>
             </div>
              <div class='span2 portfolio-btn'>
              <a href='edit_product.php?q=$prodID' class='btn bigicn-only'><span>View</span></a>                                
                </div>
                </div> ";
    }
}

?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM