#1 5. August 2009 MySQL Ergebnisse außerhalb der While nutzen Hey Ho !!! Ich hab eine kleine Frage dir mir einiges leichter machen würde: Zwar wäre es cool, wenn man Ergebnisse einer MySQL außerhalb der While schleife nutzen kann. $diese_seite_ergebnisse = mysql_query("SELECT * FROM site WHERE link ='startseite'"); while ($diese_seite_inhalt = mysql_fetch_assoc($diese_seite_ergebnisse)) { $diese_seite_headline = $diese_seite_inhalt["headline"]; } Gibt es denn jetzt eine Möglichkeite auf die Variabel $diese_seite_headline im nachhinein irgendwo im Script zu zugreifen ??( Danke für Tipps ! + Multi-Zitat Zitieren
#2 5. August 2009 AW: MySQL Ergebnisse außerhalb der While nutzen Du könntest dir die Daten in einen array schreiben lassen und dann auf den Array zugreifen. du könntest aber auch einfach die while-schleife an der stelle wo sie benötigt wird nocheinmal wiederholen. + Multi-Zitat Zitieren
#3 5. August 2009 AW: MySQL Ergebnisse außerhalb der While nutzen Das mit dem Array scheint eine gute Idee. Ich wollte es so machen, dass ich einmal alle Inhalte für eine Seite abfrage und dann im nachhinein an der gewünschten Stelle im HTML-Script das reinschreiben lasse. Wenn ich jetzt den ganzen Inhalt der Seite in das Array schreibe und danach wieder abrufe, wird das laden der Seite dadurch langsamer ??? + Multi-Zitat Zitieren
#4 5. August 2009 AW: MySQL Ergebnisse außerhalb der While nutzen Hm ich würde sagen nein 0o PHP: while( $assoc = mysql_fetch_assoc ( $qry )){ $headline [] = $assoc [ 'headline' ]; } anstatt das du halt $headline sofort benutzt legst du einfach alles ab, so oder so würde $assoc['headline'] irgendwo hin geschrieben werden.. + Multi-Zitat Zitieren
#5 5. August 2009 AW: MySQL Ergebnisse außerhalb der While nutzen Alles klar, danke für die Tipps !!! Ich bau das gleich mal ein und dann geht es los, hehe Vielen Dank ! + Multi-Zitat Zitieren
#6 6. August 2009 AW: MySQL Ergebnisse außerhalb der While nutzen Ich hab das mal getestet: PHP: <? php $bla = array (); $i = 0 ; while ( $i < 1 ) { $bla [ "headline" ] = $i ; $i ++; } echo "<pre>" ; print_r ( $bla ); echo "</pre>" ; echo $bla [ "headline" ]; ?> Wenn ich das ganze nun ausführe funktioniert es wunderbar:] Was nicht geht ist folgendes PHP: $diese_seite_ergebnisse = mysql_query ( "SELECT * FROM site WHERE link = ' $getsite '" ); $diese_seite_array = array (); while ( $diese_seite_inhalt = mysql_fetch_assoc ( $diese_seite_ergebnisse )) { $diese_seite_array [ "uberschrift" ] = $diese_seite_inhalt [ "headline" ]; } print_r ( $diese_seite_array ); Das versteh ich jetzt komplett nicht In der "normalen" While geht es aber in der mit MySQL nicht.... + Multi-Zitat Zitieren
#7 6. August 2009 AW: MySQL Ergebnisse außerhalb der While nutzen ich verstehe deinen test nicht recht PHP: $bla = array (); $i = 0 ; while ( $i < 1 ) { $bla [ "headline" ] = $i ; $i ++; } echo "<pre>" ; print_r ( $bla ); echo "</pre>" ; echo $bla [ "headline" ]; ?> $i = 0 Wenn 0 < 1 dann $bla['headline'] = 0; $i++ Dann hast du einen durchlauf wenn du mysql_fetch_assoc machst, überschreibst du dir bei deinem beispiel jedesmal deinen array "uberschrift" Machs so: PHP: while( $assoc = mysql_fetch_assoc ( $qry )){ $headline [] = $assoc [ 'headline' ]; } und du greifst mit $headline[0], [1] etc. drauf zu oder mach es so: PHP: while( $assoc = mysql_fetch_assoc ( $qry )){ $headline [ 'uberschrift' ][] = $assoc [ 'headline' ]; } und du hast den zähler halt so $headline['uberschrift'][0],$headline['uberschrift'][1] was aber keinen sinn macht, da der variablenname in dem fall aussagekräftig genug ist oder versteh ich dich grad falsch? + Multi-Zitat Zitieren
#8 6. August 2009 AW: MySQL Ergebnisse außerhalb der While nutzen So halb Dein Vorschlag ist natürlich nicht schlecht ! Mein Problem ist nur, das ich bei der while oben das ganze in ein Array schreiben kann. Wenn ich aber die While mit MySQL habe, dann schreibt er NIX in das Array + Multi-Zitat Zitieren
#9 6. August 2009 AW: MySQL Ergebnisse außerhalb der While nutzen hast du geprüft ob dein query überhaupt richtig ist ? + Multi-Zitat Zitieren
#10 6. August 2009 AW: MySQL Ergebnisse außerhalb der While nutzen Ist sie, sonst würde das Script sofort zur index.php springen, was nicht der Fall ist. Also muss es ja ein positives Ergenis der SQL Query geben:] + Multi-Zitat Zitieren
#11 6. August 2009 AW: MySQL Ergebnisse außerhalb der While nutzen PHP: $diese_seite_ergebnisse = mysql_query ( "SELECT * FROM site WHERE link = ' $getsite '" ); $diese_seite_array = array (); while ( $diese_seite_inhalt = mysql_fetch_assoc ( $diese_seite_ergebnisse )){ $diese_seite_array [ "uberschrift" ] = $diese_seite_inhalt [ "headline" ];} print_r ( $diese_seite_array ); Du darfst nicht $diese_seite_array["uberschrift"] =$diese_seite_inhalt["headline"]; sondern du musst $dein_array_name[] = $diese_seite_inhalt["headline"]; Weil durch das "[]" sagst du das $dein_array_name ein Array ist und dann wird der Wert immer fortsetzend eingesetzt.. Also: PHP: $diese_seite_ergebnisse = mysql_query ( "SELECT * FROM site WHERE link = ' $getsite '" ); $diese_seite_array = array (); while ( $diese_seite_inhalt = mysql_fetch_assoc ( $diese_seite_ergebnisse )){ $diese_seite_array [] = $diese_seite_inhalt [ "headline" ];} print_r ( $diese_seite_array ); + Multi-Zitat Zitieren
#12 6. August 2009 AW: MySQL Ergebnisse außerhalb der While nutzen PHP: $sql_result = mysql_query ( "SELECT * FROM site WHERE link = '" . $getsite . "';" ); $newsList = array (); while ( $newsRow = mysql_fetch_assoc ( $sql_result )) { // $newsList["ueberschrift"][] = $diese_seite_inhalt["headline"]; // du solltest aber lieber sowas machen : $newsList [ $diese_seite_inhalt [ "newsid" ]][ "ueberschrift" ] = $diese_seite_inhalt [ "headline" ]; } print_r ( $newsList ); + Multi-Zitat Zitieren
#13 6. August 2009 AW: MySQL Ergebnisse außerhalb der While nutzen PHP: $sql_result = mysql_query ( "SELECT * FROM site WHERE link = '" . $getsite . "' LIMIT 1;" ); if ( mysql_fetch_row ( $sql_result ) === 0 ) { header ( "location:index.php" ); } ich meine das ist der Übeltäter in der if..... Sehr merkwürdig Aber ich werde es anders lösen, jetzt geht es auf jeden Fall, danke schön ! + Multi-Zitat Zitieren
#14 7. August 2009 AW: MySQL Ergebnisse außerhalb der While nutzen Probier das ganze mal so: PHP: if ( mysql_fetch_row ( $sql_result ) <= 0 ) + Multi-Zitat Zitieren
#15 7. August 2009 AW: MySQL Ergebnisse außerhalb der While nutzen mysql_fetch_row ist mehr oder weniger "falsch" Ich habe jetzt folgendes gemacht : PHP: if ( mysql_num_rows ( $diese_seite_ergebnis ) == 0 ) { header ( "location:index.php" ); } + Multi-Zitat Zitieren