[PHP] MySQL Ergebnisse außerhalb der While nutzen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Metalmatze, 5. August 2009 .

  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 !
     
  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.
     
  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 ???
     
  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..
     
  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 !
     
  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....
     
  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?
     
  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
     
  9. 6. August 2009
    AW: MySQL Ergebnisse außerhalb der While nutzen

    hast du geprüft ob dein query überhaupt richtig ist ?
     
  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:]
     
  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 );  
     
  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 );
     
  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 !
     
  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
     
  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" );
    }
     
  16. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.