2016-10-11 89 views
-4

我有兩個表如下:複選框選擇是否存在數據在數據庫

表1:產品

表2:product_add

prodct tables

現在我想以下輸出使用PHP For Record Id = 3.

Output

我會嘗試下面的代碼:

全部停止使用 mysql_*擴展它的過時和關閉PHP 7,您可以使用 mysqli_*PDO
<?php 

$select = "SELECT * FROM product WHERE status = 1"; 
$query = mysql_query($select); 
while($row = mysql_fetch_array($query)){ 
    $s = "SELECT * FROM product_add WHERE status = 1 and product_id = '".$row["id"]."'"; 
    $q = mysql_query($s); 
    while($r = mysql_fetch_array($q)){ 
     echo $row["product_name"].'<input type="checkbox" '.($row["id"] == $r["product_id"] ? 'checked' : '').'>'; 
    } 
} 

?> 
+3

「**現在我想用下面的輸出使用PHP For Record Id = 3. * 「好吧,那好運。 :) –

+0

你嘗試過什麼嗎? – Miuranga

+0

請在使用stackoverflow之前確保您已完成研究 – Suraj

回答

0

第一。

這裏是庫MySQLi反對導向的例子:

<?php 
// Create connection 
$conn = new mysqli($YourServerName, $Yourusername, $Yourpassword, $Yourdbname); 
// Check connection 
if ($conn->connect_error) { 
die("Connection failed: " . $conn->connect_error); 
} 

// your query 
$sql = "SELECT * FROM product p 
LEFT JOIN product_add pa ON pa.product_id = p.id 
WHERE p.status = 1"; 

$result = $conn->query($sql); 

if ($result->num_rows > 0) { // if record found 
    while($row = $result->fetch_array()) // using while loop 
    { 
    ?> 
    <?=$row["product_name"]?> 
    <input type="checkbox" <?=($row["record_id"] == 3 ? 'checked=""' : '')?>> 
    <?php 
    } 
} 
else 
{ 
    // if record not exist. 
} 
?> 

您可以使用JOIN的,而不是使用while循環中兩個查詢。你可以通過使用LEFT JOIN來達到你想要的輸出。


如果你仍然想使用你的代碼,比注意的是,你的情況是錯誤的:

$row["id"] == $r["product_id"] 

這應該是:

$row["record_id"] == 3 
+0

感謝兄弟...它會工作,但它會首先顯示所有選中的複選框記錄,然後取消選中所有...可以顯示所有產品的連續並檢查是否存在於表product_add中,如輸出 –

+0

@SachinSanchaniya:爲此您可以改變你的狀況,因爲我提到 – devpro

+0

得到了解決方案 –

0

得到的答覆如下

<?php 

$select = "SELECT * FROM product WHERE status = 1"; 
$query = mysql_query($select); 
while($row = mysql_fetch_array($query)){ 
    $pid = $row['id']; 
    $s = "SELECT * FROM product_add WHERE status = 1 and product_id = '$pid' and record_id = 3"; 
    $q = mysql_query($s); 
    $r = mysql_fetch_array($q); 
    echo $row["product_name"].'<input type="checkbox" '.($pid == $r["product_id"] ? 'checked' : '').'>'; 

} 

?>