Kutularını, SQL select deyimleri &

2 Cevap php

Ben kullanıcı tarafından gönderilen seçimlere dayalı bir veritabanı tablosundan bazı satırları görüntülemek çalışıyorum. İşte benim form kodu

    <form action="choice.php" method="POST" >
  <input type="checkbox" name="variable[]" value="Apple">Apple
  <input type="checkbox" name="variable[]" value="Banana">Banana
  <input type="checkbox" name="variable[]" value="Orange">Orange
  <input type="checkbox" name="variable[]" value="Melon">Melon
  <input type="checkbox" name="variable[]" value="Blackberry">Blackberry

From what I understand I am placing the values of these into an array called variable. Two of my columns are called receipe name and ingredients(each field under ingredients can store a number of fruits). What I would like to do is, if a number of checkboxes are selected then the receipe name/s is displayed.

İşte benim php kodudur.

<?php
// Make a MySQL Connection
mysql_connect("localhost", "*****", "*****") or die(mysql_error());
mysql_select_db("****") or die(mysql_error());

$variable=$_POST['variable'];
foreach ($variable as $variablename)
{
echo "$variablename is checked";
}

$query = "SELECT receipename FROM fruit WHERE $variable like ingredients";

$row = mysql_fetch_assoc($result);
foreach ($_POST['variabble'] as $ingredients)
echo $row[$ingredients] . '<br/>';
?>

Ben php için çok yeni ve sadece verileri görüntülemek isteyen, bunun üzerinde herhangi bir eylem gerçekleştirmek gerekmez. Ben birçok seçin ifadeleri denedim ama herhangi bir sonuç görüntülemek için alınamıyor. Benim db bağlantısı gayet iyi ve değişkenleri kontrol ne çıktı yapar.

Şimdiden çok teşekkürler.

EDIT:

Teşekkürler yanıtlarken için bir milyon. Ancak, benim kendi = boş sayfa kodu ve ayrıca == boş sayfalara hem de yukarıda çözümler düzeltme çalıştı. Grrrr! İşte denediğim bir çözümdür.

<?php
// Make a MySQL Connection
mysql_connect("localhost", "", "") or die(mysql_error());
mysql_select_db("") or die(mysql_error());

$query = "SELECT receipename FROM fruit ";
$cond = "";

foreach($variable as $varname)$cond .= " $varname like 'ingredients' OR";
$cond = substr_replace($cond, '', -2);
$query .= " WHERE $cond";

$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)){
echo $row['receipename'],'<br />';
}

Ayrıca güvenilir

<?php
// Make a MySQL Connection
mysql_connect("localhost", "24056", "project99") or die(mysql_error());
mysql_select_db("24056db2") or die(mysql_error());

$variable=$_POST['variable'];
foreach ($variable as $variablename)
{

$query = "SELECT receipename FROM horse WHERE ingredients = '".$variablename."'";
while($row = mysql_fetch_assoc($query))
{
echo $row['receipename']."<br/>";
}
}
?>

I suppose another way to say it, if the checkbox variable is equal to a record under the ingredients column, I wish to print out the receipename of that record. Im nearly getting confused here mysellf, haha.

Diğer fikir deneyebilirim??

2 Cevap

Correction in ur code

$query = "SELECT receipename FROM fruit WHERE $variable like ingredients";

$row = mysql_fetch_assoc($result);

U yukarıdaki farkı görüyor musunuz?

Yeri "$ sonuç" Mysql_Fetch_Assoc yerine "$ sorgu" ($ sonuç)

My Solution

$variable=$_POST['variable'];
foreach ($variable as $variablename)
{

$query = "SELECT receipename FROM fruit WHERE ingredients = '".$variablename."'";
while($row = mysql_fetch_assoc($query))
{
echo $row['receipename']."<br/>";
}
}

Sorunuz bana açık değil, aşağıdaki-deneyebilirsiniz

$query = "SELECT receipename FROM fruit ";
$cond = "";

foreach($variable as $varname)$cond .= " $varname like 'ingredients' OR";
$cond = substr_replace($cond, '', -2);
$query .= " WHERE $cond";

$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)){
   echo $row['receipename'],'<br />';
}

NOT: Bu kodu test edilmez