Minulla olisi sen kaltainen ongelma, että tekemäni functio tulostaa vain ensimmäisen rivin taulusta.
<?php function show_all_news($category) { global $prefix, $settings, $conf; // Kategoria ? if (strstr($category,',')) { $categor = explode(",",$category); $qcate = " AND ("; foreach ($categor as $key => $poo) { if (count($categor) == $key) { $qcate .= " category = ".db_escape($poo).""; } else { $qcate .= " category = ".db_escape($poo)." OR"; } } $qcate = preg_replace("/OR$/","",$qcate); $qcate .= " )"; } elseif ($category != "*") { $qcate = " AND category = ".db_escape($category)." "; } else { $qcate = ""; } $q = db_query("SELECT * FROM {$prefix}news WHERE send_time < ".time()." ".$qcate." ORDER BY id"); while ($new = db_fetch_array($q)) { $buffer = '»<a href="' . $settings['url'] . 'index.php?s=' . $_REQUEST['s'] . '&nayta=' . $new['id'] . '">' . htmlspecialchars($new['title']) . '</a><br />'; } return $buffer; } ?>
Tämän koodin pitäisi tulostaa linkki kaikkiin uutisin joilla on sama kategoria ja ne on julkaistu. Mutta tulostaa vain yhden, luulen ongelman olevan viimeisen tietokanta kyselyn ja silmukan kohdilla, mutta en itse keksi sitä. Kaipaisin hieman neuvoa =/
Nyt muuttujalle $buffer annetaan useita kertoja uusi sisältö, joka korvaa edellisen. Aloita silmukan sisällä oleva rivi $buffer = $buffer . '»<a href="'
, niin muuttujaan $buffer tulevat kaikki tietokannasta haetut tiedot.
Perhana, ajatuksissani olen unohtanu . =-merkin edestä, noh tekevälle sattuu, noh tämä virhe selvitetty. Kiitti
Aihe on jo aika vanha, joten et voi enää vastata siihen.