Portál AbcLinuxu, 10. listopadu 2025 02:05
$sql = mysql_query("SELECT * FROM rato WHERE cat IN ('".result($id)."')");
while($row = mysql_fetch_assoc($sql)) {
echo $row['id'] . "</br>";
}
ale vypisuje se jen jeden řádek :( Díky za pomoc
Řešení dotazu:
$sql = 'SELECT * FROM rato WHERE cat IN ('.result($id).') ';
$result = mysql_query($sql);
//prepraseni do neceho pouzitelnejsiho
while(($resultArray[] = mysql_fetch_assoc($result)) || array_pop($resultArray));
foreach($resultArray AS $k=>$v)
{
echo $v['id'].'
'."\n";
}
Ale nejlepsi by bylo kdyby jsi nam rekl co presne zamyslis provest, treba by jsme ti navrhli lepsi reseni (ze strany SQL ci PHP)
$sql = mysql_query("SELECT * FROM rato WHERE cat IN ('".result($id)."')");$sql = mysql_query("SELECT * FROM rato WHERE cat IN (".result($id).")");
to co napsal Salamek vypisuje radky s id: 1,2,1,2,3,1,2,3,4,1,2,3,4,5,1,2,3,4,5,2670 to co napsal blondak vypisuje radky s id: 2,3,4,5,2670ani jedna možnost není dobře :( Proč?
$sql = mysql_query("SELECT * FROM rato WHERE cat IN (\"".join('","', array_map('mysql_real_escape', result($id))."\")");
Ale ještě lepší je použít join nebo subselect (pokud to je možné).
$sql = mysql_query("SELECT * FROM rato WHERE cat IN ('".result($id)."')");
while($row = mysql_fetch_array($sql)) {
echo $row['id'] . "br";
}
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.