php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.01.2006, 18:56  
Gast
 
Beiträge: n/a
Standard while Schleife gibt nicht alle Daten aus

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.
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.01.2006, 19:03  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Du überschreibst $anfr in deinem neuen Code. Sobald die Schleife ein zweites mal durchlaufen werden soll steht nicht mehr das gewünschte drin...
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 12.01.2006, 19:24  
Gast
 
Beiträge: n/a
Standard

Arghh völlig übersehn... *selber slap*

Danke für den Hinweis. :wink:
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
geladene daten aus einer schleife in die datenbank speichern Bonaparte PHP Tipps 2008 2 05.09.2007 22:26
While schleife -> letzter durchgang Skazi PHP Tipps 2006 7 16.09.2006 00:11
mysql_query verschmelzen zweier abfragen (while schleife) Buschdieb PHP Tipps 2006 10 15.07.2006 17:11
while schleife - spezial datensatz einblenden Buschdieb PHP Tipps 2006 2 09.04.2006 13:05
[Erledigt] While schleife in while schleife = nur ein datensatz?! PHP Tipps 2005-2 9 28.10.2005 12:48
while schleife geht nicht im IE PHP Tipps 2005-2 4 21.10.2005 11:49
while schleife in einer while schleife beim tmpl-sys PHP Tipps 2005-2 0 27.07.2005 15:07
While Schleife Beatbox Off-Topic Diskussionen 8 19.05.2005 21:55
while schleife beenden PHP Tipps 2005 3 29.03.2005 20:35
IF ELSEIF ELSEIF ELSE mit While Schleife PHP Tipps 2005 9 04.03.2005 23:27
Variabel aus while schleife ausserhalb der schleife nutzen PHP Tipps 2005 8 12.02.2005 18:04
Mit While selektieren und Daten rausholen (HILFE)!! Spike_php Datenbanken 7 12.12.2004 20:08
resultausgabe mit while schleife in pdf dokument PHP Tipps 2004 2 23.09.2004 14:56
[Erledigt] probleme mit ner while schleife PHP Tipps 2004 5 23.07.2004 17:28
Prob mit While schleife JEGO PHP Tipps 2004 2 04.06.2004 12:01

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php while schleife ocifetch, while schleife alle daten bis heute, echo ociresult, php schleife gibt nicht alles aus, oci_fetch anzahl, oci_fetch null abfangen, \sdatenbankabfrage in einer while\

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:14 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.