Hi,
habe folgendes Prob, ich hab nen Script das Userkommentare ausgibt und die Funktion erweitert das man die Kommentare als hilfreich oder nicht bewerten kann. Soweit so gut. ^^ Wenn ich nur einen Kommentar habe wird alles so ausgegeben wie es soll bei mehreren Kommentaren wird nur noch einer ausgegeben...

Wenn ich den neuen Teil weglasse gibt er mir wieder alle Kommentare aus.
Ich poste ma den Code, der zugegeben ziehmlich chaotisch is, ich hoffe es wird trotzdem klar wo das Prob liegt.
Der Ausgangscode, der einwandfrei lief:
Code:
while (OCIFetch($anfr)){
echo "von ".OCIResult($anfr,5);
echo " erstellt am ".OCIResult($anfr,4)."
";
echo "".OCIResult($anfr,2)."
";
echo OCIResult($anfr,3)."
";
echo "War dieser Kommentar hilfreich? <a href=\"wertung.php?id=".OCIResult($anfr,1)."&typ=ja\">"
."<img src=\"yes.gif\" border=0>"."</a>"." <a href=\"wertung.php?id=".OCIResult($anfr,1)."&typ=nein\">"
."<img src=\"no.gif\" border=0>"."</a>";
echo "<hr size=2>
";
}
neuer Code:
Code:
while (OCIFetch($anfr)){
$k_id = OCIResult($anfr,1);
echo "von ".OCIResult($anfr,5);
echo " erstellt am ".OCIResult($anfr,4)."
";
echo "".OCIResult($anfr,2)."
";
echo OCIResult($anfr,3)."
";
echo "War dieser Kommentar hilfreich? <a href=\"wertung.php?id=".OCIResult($anfr,1)."&typ=ja\">"
."<img src=\"yes.gif\" border=0>"."</a>"." <a href=\"wertung.php?id=".OCIResult($anfr,1)."&typ=nein\">"
."<img src=\"no.gif\" border=0>"."</a>";
echo "<hr size=2>
";
$sql = "SELECT k_id, count(Helpness) as ja FROM bewertet_kommentar where Helpness = '1' and k_id = '$k_id' GROUP BY k_id";
$anfr = OCIParse($dbh,$sql);
$result = OCIExecute($anfr);
OCIFetch($anfr);
$ja=OCIResult($anfr,2);
$sql2 = "SELECT k_id, count(u_id) as anzahl FROM bewertet_kommentar where k_id = '$k_id' GROUP BY k_id";
$anfr2 = OCIParse($dbh,$sql2);
$result = OCIExecute($anfr2);
OCIFetch($anfr2);
$anz=OCIResult($anfr2,2);
if ($anz>=1){
echo $ja.' von '.$anz.' Nutzern fanden diesen Kommentar hilfreich'; }
}
Ich versuch ma zu erklären wie das Script imho arbeiten sollte: er fragt die ID vom Kommentar ab und kuckt dann wieviele davon als Hilfreich bewertet wurden und wieviele Bewertungen es insg. gibt.
Wenn es nur ein Kommentar ist wird am Ende auch angezeigt "3 von 5 Leuten fanden diesen Kommentar hilfreich" aber bei mehreren haut der SQL-Teil nimmer hin. Ich hab die Kommentar-IDs ausgeben lassen und er zeigt die richtig an also z.B. 31 und 45. Ich dachte eigentlich er würde die Schleife von vorne bis hinten durcharbeiten und da er ne neue ID für die SQL-Statements hat würde das schon klappen aber leider is dem nich so...
Kann mir jemand sagen warum der SQL-Teil kein 2tes mal mit einer neuen K_ID durchläuft? Falls der Code völliger sch... is und das so niemals gehn kann wär ich auch froh wenn mir jemand nen alternativ Vorschlag machen kann.
