3

mysqlデータベースから配列に複数の行を取得できませんか?コードはありますが、テキストボックスにエコーすると機能しないか、すべての行が表示されませんか?

<?php 
if(is_array($_SESSION['pid']))
{
  $pid = join(',',$_SESSION['pid']); 
  $result=mysql_query("SELECT id AS wid FROM mywishlist where pid='$pid'") 
            or die("Id    Problem"."<br/><br/>".mysql_error());
  $results= array();
  $i=0; // add the new line
  while($row=mysql_fetch_array($result)){
    $results[$i] = $row['wid'];
    $i++;
  }
  $results;
}
$max=count($results);
for($j=0; $j<$max; $j++)
{
?>
<input type="text" name="wid[]" value="<?php echo $results[$j]; ?>" />
<?php } ?>
4

3 に答える 3

2

この行join(',',$_SESSION['pid'])は、複数の行をそれらで選択したいと思わせますpidIN演算子を利用してみてください:

SELECT id AS wid FROM mywishlist
WHERE pid IN ($pid)
于 2013-03-18T09:56:34.227 に答える
2

クエリが間違っています。このクエリを使用してください

$result=mysql_query("SELECT id AS wid FROM mywishlist where pid IN($pid) ") 
于 2013-03-18T09:57:51.170 に答える
1

試す

$results= array();

while($row=mysql_fetch_array($result))
{
    $results[] = $row['wid'];
}

そしてForループとして。

$max = count($results);
for($j=0; $j<$max; $j++)
{
?>
    <input type="text" name="wid[]" value="<?php echo $results[$j]; ?>" />
<?php
}
?>
于 2013-03-18T09:56:55.223 に答える