kostenloser Webspace werbefrei: lima-city


MySQLi Daten in Array speichern

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    siteplayer

    siteplayer hat kostenlosen Webspace.

    Ich möchte die Daten aus meinem Query in ein tag/array">Array speichern um sie später zu verwenden.
    $query = $db->query("SELECT `spalte1`, `spalte2`, `spalte3`, `spalte4` FROM `tabelle` WHERE `spalte1` LIKE '0' AND `spalte2` LIKE '0' ORDER BY `spalte3` ASC, `spalte2` ASC");
    $sat = array();
    $size = $query->num_rows;
    for($i=0; $i<$size; $i++) {
    	$sat[$i] = array();
    	while($bow = $query->fetch_array(MYSQLI_ASSOC)) {
    		$sat[$i]["id"] = $bow["spalte1"];
    	}
    }
    // ganz viel super toller Code =P
    for($i=0; $i<$size; $i++) {
    	echo $sat[$i]["id"];
    }
    Daten aus der Datenbank Lesen
    schleife($i=0; $i<$zeilenanzahl; $i++) {
    	Array[$i] = $i MySQLi Datei
    }
    Daten verwenden und bearbeiten
    Daten ausgeben
    Aber es wird nur das letzte Ergebnis gespeichert. Probiere jetzt schon seid 2 tagen das hinzubekommen aber ich komm nicht wirklich drauf wie ich es richtig machen kann, hat wer nen Tipp für mich?
    Das hat bisher am besten Funktioniert, allerdings wird nie das erste gefundene übertragen, es müssten 4 Ergebnisse sein, raus kommt aber immer nur 3.
    if($class_query	 = $db->query("SELECT `spalte1`, `spalte2`, `spalte3`, `spalte4` FROM `tabelle` WHERE `spalte1` LIKE '0' AND `spalte2` LIKE '0' ORDER BY `spalte3` ASC, `spalte2` ASC")) {
    	$classes = $class_query->fetch_assoc();
    	$class_size = $class_query->num_rows;
    	$class =	 array();
    	for($i=0; $i<$class_size; $i++) {
    		$classes[$i] = $class_query->fetch_assoc();
    		$class[$i] = array();
    		$class[$i]["spalte1"] = $classes[$i]["spalte1"];
    		$class[$i]["spalte2"] = $classes[$i]["spalte2"];
    		$class[$i]["spalte3" = $classes[$i]["spalte3"];
    	}
    	for($b=0; $b<$class_size-1; $b++) {
    			if(($class[$b]["spalte1"] == 0)&&($class[$b]["spalte2"] == 0)) {
    				echo $class[$b]["spalte3"]."<br />";
    			}
    		}
    	} else {
    	echo "Datenbankabfrage Fehlgeschlagen.";
    }


    Beitrag zuletzt geändert: 19.8.2010 17:46:26 von siteplayer
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. $query = $db->query("SELECT `spalte1`, `spalte2`, `spalte3`, `spalte4` FROM `tabelle` WHERE `spalte1` LIKE '0' AND `spalte2` LIKE '0' ORDER BY `spalte3` ASC, `spalte2` ASC");
    
    $satcounter=0;
    $sat = array(); //<--bin mir mal gar nicht so sicher ob das nötig ist
    	
    	while($bow = $query->fetch_array(MYSQLI_ASSOC)) {
    		$sat[]  = Array("id"=>""); // [] ohne wert erweitert das array um 1
    		$sat[$satcounter]['id']= $bow["spalte1"];
    		$satcounter++;
    	}
    
    // ganz viel super toller Code =P
    $size=count($sat)
    for($i=0; $i<$size; $i++) {
    	echo $sat[$i]["id"];
    }


    ungetestet

    Beitrag zuletzt geändert: 19.8.2010 18:13:31 von simuliertes
  4. Deine erste Lösung war schon fast richtig. Allerdings ist deine While-Schleife solange true, wie Einträge in der Datenbank sind. Da du in der Schleife i nicht veränderst wird der Eintrag immer überspeichert. Also bekommst du nur den letzten Eintrag zurück. Machs einfach mal so:
    $query = $db->query("SELECT `spalte1`, `spalte2`, `spalte3`, `spalte4` FROM `tabelle` WHERE `spalte1` LIKE '0' AND `spalte2` LIKE '0' ORDER BY `spalte3` ASC, `spalte2` ASC");
    
    $i=0;
    while($bow = $query->fetch_array(MYSQLI_ASSOC)) {
    	$sat[$i]["id"] = $bow["spalte1"];
            $i++;
    }
    
    // ganz viel super toller Code =P
    for($i=0; $i<$size; $i++) {
    	echo $sat[$i]["id"];
    }


    €dit: Zu lange gebraucht -.-

    Beitrag zuletzt geändert: 19.8.2010 18:13:49 von alphara
  5. [hier stand mumpitz...]

    bleib einfach bei zeilen und spaltennummerierung^^

    und simuliertes:

    $sat[$satcounter++] ['id']= $bow["spalte1"];
    		$satcounter++;

    ich glaube der Tei lässt das in 2er-schritten hochgehen... also jedes 2. array ist leer

    Beitrag zuletzt geändert: 19.8.2010 18:12:50 von sebulon
  6. sebulon schrieb:
    und simuliertes:

    $sat[$satcounter++] ['id']= $bow["spalte1"];
    		$satcounter++;

    ich glaube der Tei lässt das in 2er-schritten hochgehen... also jedes 2. array ist leer


    äh ja richtig.
    Kleiner flüchtigkeitfehler, ich habe den post editiert

    edit: Danke :wink:

    Beitrag zuletzt geändert: 19.8.2010 18:21:25 von simuliertes
  7. Autor dieses Themas

    siteplayer

    siteplayer hat kostenlosen Webspace.

    simuliertes schrieb:
    bin mir mal gar nicht so sicher ob das nötig ist
    Für meine nächsten Schritte ist es nötig^^

    Vielen dank für die Hilfe =)
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!