Két ciklus egyesítése
Sziasztok!
Az előzőleg nyitott témámban, volt egy gondom amit nem tudtam hogy oldjak meg.
van 4 ciklusom.
ezekből 2-t kéne csinálni(szerintem)
Mert az volt a gond, utólag rájöttem hogy azért nem íródott k mindegyiknél a kiírandó szöveg, mert az második és a negyedik ciklus csak akkor futott le, ha az elsőnek és a harmadiknak vége volt.
Ezért szerintem az lenne a megoldás hogy az első-második, illetve a harmadik-negyedik ciklust eggyesíteném.
Csak az a gond hogy nem tudom hogy ezt hogy valósítsam meg.
A kódrészletek:
Első ciklus:
Második ciklus:Harmadik ciklus:Negyedik ciklus:A második és a negyedik ciklus ugyan az.
ELvileg az is jó megoldás lenne ha az első-második ill. a harmadik negyedik ciklusok felváltva futnának le.
Ezért gondoltam az egyesítésre, nem látok más megoldást.
Kösz a segítséget.
■ Az előzőleg nyitott témámban, volt egy gondom amit nem tudtam hogy oldjak meg.
van 4 ciklusom.
ezekből 2-t kéne csinálni(szerintem)
Mert az volt a gond, utólag rájöttem hogy azért nem íródott k mindegyiknél a kiírandó szöveg, mert az második és a negyedik ciklus csak akkor futott le, ha az elsőnek és a harmadiknak vége volt.
Ezért szerintem az lenne a megoldás hogy az első-második, illetve a harmadik-negyedik ciklust eggyesíteném.
Csak az a gond hogy nem tudom hogy ezt hogy valósítsam meg.
A kódrészletek:
Első ciklus:
$sqln = "SELECT cim, tartalom FROM news";
$resultn = mysql_query($sqln);
if (mysql_num_rows($resultn)) {
while ($row = mysql_fetch_assoc($resultn)) {
echo "<font size='6' color='red' name='Comic Sans MS'>";
echo $row['cim'];
echo "</font>";
echo "<br><br>";
echo "<font size='5' color='yellow' name='Comic Sans MS'>";
echo $row['tartalom'];
echo "</font>";
echo "<br>";
echo "<form name='comments' method='post' action='comments.php'>
<table align='center'>
<tr>
<td><textarea name='comment' rows='4' cols='40'></textarea></td>
</tr>
<tr>
<td><input type='submit' value='Küldés'></td>
</tr>
</table>
</form>";
}
} else {
print "Nincsenek hírek az archívumban!<br>";
}
Második ciklus:
$sqlc = "SELECT tartalom FROM comments";
$resultc = mysql_query($sqlc);
if (mysql_num_rows($resultc)) {
while ($row = mysql_fetch_assoc($resultc)) {
echo "<font size='3' color='blue' name='Comic Sans MS'>";
echo $row['tartalom'];
echo "</font>";
echo "<br>";
}
} else {
print "<font color='green' size='3' name='Comic Sans MS'><br>Még nem érkeztek kommentek.<br></font>";
}
$sqla = "SELECT cim, tartalom FROM articles";
$resulta = mysql_query($sqla);
if (mysql_num_rows($resulta)) {
while ($row = mysql_fetch_assoc($resulta)) {
echo "<font size='6' color='red' name='Comic Sans MS'>";
echo $row['cim'];
echo "</font>";
echo "<br><br>";
echo "<font size='5' color='yellow' name='Comic Sans MS'>";
echo $row['tartalom'];
echo "</font>";
echo "<br>";
echo "<form name='comments' method='post' action='comments.php'>
<table align='center'>
<tr>
<td><textarea name='comment' rows='4' cols='40'></textarea></td>
</tr>
<tr>
<td><input type='submit' value='Küldés'></td>
</tr>
</table>
</form>";
}
} else {
print "Nincsenek bejegyzések az archivumban!<br>";
}
$sqlc = "SELECT tartalom FROM comments";
$resultc = mysql_query($sqlc);
if (mysql_num_rows($resultc)) {
while ($row = mysql_fetch_assoc($resultc)) {
echo "<font size='3' color='blue' name='Comic Sans MS'>";
echo $row['tartalom'];
echo "</font>";
echo "<br>";
}
} else {
print"<font color='green' size='3' name='Comic Sans MS'><br>Még nem érkeztek kommentek.<br></font>";
}
ELvileg az is jó megoldás lenne ha az első-második ill. a harmadik negyedik ciklusok felváltva futnának le.
Ezért gondoltam az egyesítésre, nem látok más megoldást.
Kösz a segítséget.
Mert az volt a gond, utólag
Nekem még mindig zavaros.
A szekvenciális kód végrehajtás így működik.. nem tudom ezen mi a meglepő..?
Miért ne írta volna ki, még ha később is történt meg..? Vagy, akkor más miatt nem írta ki.
Ennek így nincs sok értelme. A második és negyedik teljesen azonos, így azt miért nem elég egyetlen egyszer végrehajtani, mondjuk a legvégén? Az első és a harmadik más táblákból listáz, azért nem lehet azokat összevonni.. (bár ha nincs a két tábla között kapcsolat, akkor lehet értelme, de ez nem látszik a kódodból)
Első ciklus -> 1. >> Második ciklus -> 3. >> Harmadik ciklus <- 2.
Én a helyedben elhagynám a negyedik ciklust és a harmadikat az első és a második közé helyezném át.
De mindezeknek semmi köze ahhoz a hibához, amiről beszéltél. Ha még mindig fenn áll a hiba, akkor nézd meg az adatbázisodban az értékeket, futtasd le az sql szkripteket, amit php-ben használsz. Ha az sql rendben van, akkor vizsgálhatod tovább a php kódot, hogy hol lehet a hiba.
join+group_by amivel meg
A két comment-es ciklus ugyanaz, szóval nyugodtan be lehet tenni őket egy függvénybe.