• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> 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?