Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] MySQl Werte in ein => Array

Einklappen

Unconfigured Ad Widget

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • thiagojonas
    hat ein Thema erstellt [Erledigt] MySQl Werte in ein => Array.

    [Erledigt] MySQl Werte in ein => Array

    Einen wunderschönen Guten Morgen

    Ich würde gerne Daten aus meiner Datenbank in ein Array laden. Und zwar in solch einer ArrayStrucktur:
    PHP-Code:
    $items = array("Frau"=>"Herr","Tochter"=>"Sohn"); 
    Wie folgt lese ich die Werte meiner MySql Datenbank aus.
    PHP-Code:
        include("config.php");
        
    header('Content-Type: text/html; charset=utf-8'); // sorgt für die korrekte Kodierung
        
    header('Cache-Control: must-revalidate, pre-check=0, no-store, no-cache, max-age=0, post-check=0'); // ist mal wieder wichtig wegen IE
        
        
    $sql="SELECT * FROM `Tabelle`;";
        
    $result=mysql_query($sql);
        
        
    $items = array();
        while(
    $row mysql_fetch_assoc($result)) {
            
    $items[] = //???
            

    Wie muss ich das jetzt machen? Dankschön im voraus für die Unterstüzung

  • thiagojonas
    antwortet
    DANKESCHÖN!!!!
    Klappt super!
    Kleine Frage noch, wie muss ich den das
    PHP-Code:
    array_map('htmlentities'$rowLehrer['Name']); 
    richtig einbauen um die Umlaute richtig darzustellen?

    edit: hat sich erledigt, habe ich selber herausgefunden

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Aha. Na, damit kann man doch was anfangen

    Du brauchst nicht unbedingt diese spezielle Art der Zuweisung. Erstell einfach ein Array mit allen Werten der Spalte deiner Wahl (Namen) und liefer das... und die Funktionalität von array_to_json bekommst du mittlerweile mit json_encode() frei Haus.

    So in der Art...
    PHP-Code:
        $items = array();
        while(
    $rowLehrer mysql_fetch_assoc($resultLehrer)) { 
            
    $items[] = $rowLehrer['Name'];
        }
        echo 
    json_encode($items); 

    Edit:
    PHP-Code:
    $items = array($rowLehrer['Name']=>$rowLehrer['Name']); 
    Richtig gewesen wäre:

    PHP-Code:
    $items[$rowLehrer['Name']] = $rowLehrer['Name']; 
    Das ergäbe dann ein Array in der Art:
    Code:
    array (
      'Hans' => 'Hans',
      'Willi' => 'Willi'

    Einen Kommentar schreiben:


  • thiagojonas
    antwortet
    Okay...
    Ich gebe jetzt mein bestes
    Ich habe Euch den Code gezeigt, den ich verwende.
    Dort verwendet der Autocompleter einen Array als Source.
    Und zwar diesen:
    PHP-Code:
    $items = array(
    "Great <em>Bittern</em>"=>"Botaurus stellaris",etc.) 
    So und ich habe mir gedacht, schlau wie ich bin, dass ich dieses Array mit meinen Werte aus der Datenbank füttere.

    Dann würde ich logischerweise einen Autocompleter haben der auf eine Datenbank zugreift.

    Ich verwende folgenden Autocompleter: jQuery UI - Demos & Documentation

    Hier nochmal die PHP-Source: /branches/dev/demos/autocomplete/search.php – jQuery UI Development – Trac

    So mein Ziel ist es, die Daten aus meiner DB in das Array zu laden und zwar in der gleichen ArrayStruktur wie im Code vorgegeben.

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Zitat von thiagojonas Beitrag anzeigen
    Danke.
    Ich verzweifel langsam, das geht irgendwie nicht
    Hier ist der Link zu php, was angezeigt wird, wenn ich folgenden Code verwende:
    PHP-Code:
        while($rowLehrer mysql_fetch_assoc($resultLehrer)) { 
            
    $items = array($rowLehrer['Name']=>$rowLehrer['Name']);
            
    $items implode('","',$items);
            echo 
    '"'.$items.'"';  
        } 
    Leeve Jung'

    WAS genau willst du denn erreichen? Definiere doch mal deine Problemstellung exakt und detailiert, wir fischen hier völlig im Trüben.

    Im übrigen ist "geht nicht" keine ausreichende Fehlerbeschreibung...

    Einen Kommentar schreiben:


  • thiagojonas
    antwortet
    Danke.
    Ich verzweifel langsam, das geht irgendwie nicht
    Hier ist der Link zu php, was angezeigt wird, wenn ich folgenden Code verwende:
    PHP-Code:
        while($rowLehrer mysql_fetch_assoc($resultLehrer)) { 
            
    $items = array($rowLehrer['Name']=>$rowLehrer['Name']);
            
    $items implode('","',$items);
            echo 
    '"'.$items.'"';  
        } 

    Einen Kommentar schreiben:


  • BlackScorp
    antwortet
    PHP-Code:
    while($rowLehrer mysql_fetch_assoc($resultLehrer)) { 
            
    $items = array($rowLehrer['Name']=>"null");
           
        }
    $items implode('","',$items);
    echo 
    '"'.$items.'"'

    Einen Kommentar schreiben:


  • thiagojonas
    antwortet
    @BlackScorp

    PHP-Code:
    while($rowLehrer mysql_fetch_assoc($resultLehrer)) { 
            
    $items = array($rowLehrer['Name']=>"null");
            
    print_r($items);
        } 
    Danke, das hilft mir weiter. Wie kann ich jetzt nach jedem erstellten Array ein "," hinzufügen?

    Einen Kommentar schreiben:


  • thiagojonas
    antwortet
    Ich möchte einfach nur das items Array nicht mit der Hand definieren, sondern mit den Werten aus der Datenbank.

    Einen Kommentar schreiben:


  • RustyXXL
    antwortet
    Dir ist klar, dass
    PHP-Code:
    array("Frau"=>"null","Herr"=>"null" 
    ein assoziatives array darstellt, bei denen "Frau" bzw. "Herr" die indizes sind?
    Analog wäre es wenn du folgende Variablen machen würdest:
    PHP-Code:
    $Frau "null";
    $Herr "null"
    Irgendwie ist mir nicht so wirklich klar was du genau vorhast, bzw. ob du genau weist wo Du hin willst...

    Einen Kommentar schreiben:


  • thiagojonas
    antwortet
    Naja...wie gesagt ich benutze folgenden code für einen Autocompleter Hier
    Dort werden halt die Daten nicht aus einer DB geholt sondern in einem Array vorgeben. In der besagten ArrayStruktur.
    Also habe ich mir gedacht, ich muss nur die Werte meine DB in das Array laden mit der gleichen ArrayStruktur, dann würde es gehen. Aber scheint ja doch nicht ganz so leicht zu sein

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Zitat von thiagojonas Beitrag anzeigen
    Bekomme jetzt folgendes raus:
    Code:
    "Hans""Max"
    Jetzt ist die Frage, wie ich das in
    PHP-Code:
    "Frau"=>"null","Herr"=>"null" 
    hinkriege
    Ich sehe keinen Zusammenhang zwischen den Daten...

    Einen Kommentar schreiben:


  • BlackScorp
    antwortet
    PHP-Code:
    $items = array();
        while(
    $row mysql_fetch_assoc($result)) {
            
    $items[] = array('Name'=>$row['Name']);    
        }
    echo 
    json_encode($items); //keine ahnung warum du jedes array element encoded hast:D 

    Einen Kommentar schreiben:


  • thiagojonas
    antwortet
    So...bin jetzt schon ein Schritt weiter

    PHP-Code:
    $items = array();
        
    $element;
        while(
    $row mysql_fetch_assoc($result)) {
            
    $items[] = $row['Name'];    
        
        }        
        
        foreach (
    $items as $element) {
            echo 
    json_encode($element);
        } 
    Bekomme jetzt folgendes raus:
    Code:
    "Hans""Max"
    Jetzt ist die Frage, wie ich das in
    PHP-Code:
    "Frau"=>"null","Herr"=>"null" 
    hinkriege

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Bingo!

    Eine foreach Schleife bietet sich an...

    Einen Kommentar schreiben:

Lädt...
X