• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

MySQL Abfragen Problem

Bissy

Raisin Rouge
Registriert
03.02.07
Beiträge
1.176
Hi,

mein PHP Skript ausgeführt auf meinem Webserver sieht so aus:

Code:
$query = "SELECT * FROM stammdaten";
$ausgabe=mysql_query($query);

while ($row=mysql_fetch_array($ausgabe))
	{
	echo "$row <br>";
	}

Anstatt mir aber die einzelnen Einträge auszugeben, wird mir nur "Array" angezeigt.

Weiß jemand, was das zu bedeuten hat?
 

vahdeani

Ribston Pepping
Registriert
29.01.09
Beiträge
300
du darfst, kannst(!), nicht das ganze array "echoen", sondern mit eckiger klammer eben jene zeile, die du ausgeben willst.
 

_linx_

Kleiner Weinapfel
Registriert
04.01.09
Beiträge
1.125
Um es noch ein wenig deutlicher zu erklären:

Du kannst dir das wie ein Numbers-Dokument (oder Excel-~) vorstellen. Du hast eine Tabelle (stammdaten) und darin Spalten (id, name, ...; was du auch immer definiert hast). Die Spalten sind die Titel, die also bezeichnen, was in der Tabelle vorhanden ist.
Und nun füllst du deine Tabelle mit Einträgen (Rows; = Zeilen).

Du liest hier alle Zeilen von der Tabelle "stammdaten" aus. Und du bekommst diese als Array zurück. Es empfiehlt sich übrigens, meiner Meinung nach, mysql_fetch_assoc zu verwenden, wieso auch immer... (http://coding.derkeiler.com/Archive/PHP/alt.php/2004-11/0817.html).

Du musst also anstatt nur
echo $row;
folgendes verwenden:
echo $row['spaltenname'];
 

Bissy

Raisin Rouge
Registriert
03.02.07
Beiträge
1.176
Ok, vielen Dank.
Ich habe dafür jetzt einfach da noch eine Schleife eingefügt, damit er mir alle Array-Elemente ausgibt.
 

_linx_

Kleiner Weinapfel
Registriert
04.01.09
Beiträge
1.125

Bissy

Raisin Rouge
Registriert
03.02.07
Beiträge
1.176
Foreach? Zum Ausprobieren mag das ja gut sein, aber für den "produktiveinsatz" ist so etwas nicht geeignet, da jede Schleife den Compiler "aufhält".

Ja!
Wie würde man es denn stattdessen im Produktiveinsatz machen? Bin echt überfordert im Moment. Muss eine Datenbank für eine Kundenverwaltung anlegen und weiß vorne und hinten nicht weiter. Der Informatik Leistungskurs ist schon wieder fast 5 Jahre her...
 

creative7even

Jerseymac
Registriert
23.02.05
Beiträge
454
nicht verwirren lassen - foreach ist in der Regel schneller als der Zugriff über einen numerischen Index.

Code:
$query = 'SELECT * FROM stammdaten';
$rs = mysql_query($query);
while($row = mysql_fetch_assoc($rs)) {
   foreach($row as $fieldName => $fieldValue) {
      echo $fieldName.': '.$fieldValue;
   }
}

um nicht unnötig die ganze Tabelle zu laden selektiert man normalerweise schon in der Query die benötigten Felder bzw. Datensätze:

Code:
SELECT id,title,description FROM stammdaten LIMIT 10,20
 

Bissy

Raisin Rouge
Registriert
03.02.07
Beiträge
1.176
So wie du es hast, hab ich es auch ungefähr gemacht. Denke, dass das so auch Sinn macht. Das Auslesen der Daten soll auch nicht ständig erfolgen. Wichtiger ist das Eintragen. Das geschieht über das Internet. Das Auslesen war für mich erst auch nur mal zur Kontrolle, ob alles klappt.
Da es eine Datenbank im Netz ist: Macht das Sinn, diese DB jeden Tag offline zu sichern? Bzw. könnte man sie ja auch lokal sichern und immer aktualisieren und so den Webserver frei halten oder?
 

creative7even

Jerseymac
Registriert
23.02.05
Beiträge
454
was heisst offline sichern/lokal sichern/aktualisieren um websever frei zu halten?

Das Sichern sollte vom Provider übernommen werden (je nach Vertrag geschieht das manuell/stündlich/täglich/... etc). Was ist der Sinn dieser Applikation?