zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden [PHP] Daten aus MySQL in Array geben und ausgeben

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 23.07.2008, 11:32
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 17.10.2007
Beiträge: 8
bullseye befindet sich auf einem aufstrebenden Ast
Standard [PHP] Daten aus MySQL in Array geben und ausgeben

Hallo!

Arbeite mich gerade mit PHP durch und da tauchen einige Fragen auf:

Ist es möglich, Daten aus der MySQL-Datenbank auszulesen und diese dann in ein Array zu geben? Habe mir vorgestellt, die Daten welche dann ausgelesen werden mit einer Funktion (create_table) ausgegeben. (Derzeit versuche ich es nur mit einem Eintrag einer Tabelle, alles andere wäre wohl zu komplex)


Michael
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 23.07.2008, 11:43
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Hi,

klar ist dies möglich, denn dafür ist php ja da allerdings nicht mit CREATE TABLE, denn das ist ein MySql-Befehl, der eine Tabelle in einer Datenbank erstellt.

Zum auslesen der Datensätze musst du folgendes machen:
PHP-Code:
$sql "SELECT
         *
FROM
         tabelle;"
;
$result mysql_query($sql) OR die(mysql_error());
$row mysql_fetch_assoc($result); 
Damit rufst du dann alle Daten ab und packst sie in ein Array ($row).
oder du rufst nur bestimmte Datensätze ab, was aber fast genauso funktioniert:

PHP-Code:
$sql "SELECT
         id,
         name,
         text
FROM
         tabelle;"
;
$result mysql_query($sql) OR die(mysql_error());
$row mysql_fetch_assoc($result); 
Dann hast du nur die bestimmten abgerufen.

Ausgeben tust Du sie dann mit:

PHP-Code:
echo $row['id'];
echo 
$row['name'];
echo 
$row['text']; 
und schon stehen die Daten auf deiner Seite

Edit:
Wenn du mehrere Datensätze abrufst, dann musst es ein klein wenig anders aufbauen:
PHP-Code:
$sql "SELECT
        *
FROM
        tabelle;"
;
$result mysql_query($sql) OR die(mysql_error()); 
Das kennst du ja schon.... und jetzt kommt die Änderung:

PHP-Code:
while($row mysql_fetch_assoc($result)) {
      echo 
$row['id'];
      echo 
$row['name'];
      echo 
$row['text'];

Dann werden alle Datensätze untereinander ausgegeben. Die Anordnung erfolgt dann mit (x)html
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!

Geändert von Praktikant (23.07.2008 um 11:49 Uhr)
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 23.07.2008, 11:46
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.843
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

Wenn Du z.B. eine Tabelle `test` mit den Spalten `test1` und `test2` hast, dann könnte das so aussehen:
PHP-Code:
$sql "SELECT * FROM `test`";
$result mysql_query($sql);

$list = array();
while (
$row mysql_fetch_assoc($result)) {
   
$list[] = $row;

Dann hast Du ein Array von Arrays und Du kannst einfach mit
PHP-Code:
echo $list[0]['test1'], " - "$list[0]['test2'];
echo 
$list[1]['test1'], " - "$list[1]['test2']; 
darauf zugreifen.

Oder aber Du läufst alle Datensätze durch, z.B. mit
PHP-Code:
foreach ($list as $i => $record) {
   echo 
$i". "$record['test1'], " - "$record['test2'], "<br />\n";

Oder wie auch immer Du damit arbeiten möchtest.

// zu langsam ...
Mit Zitat antworten
  #4 (permalink)  
Alt 23.07.2008, 14:14
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 17.10.2007
Beiträge: 8
bullseye befindet sich auf einem aufstrebenden Ast
Standard

Oh, das geht aber schnell. Damit hätte ich nicht gerechnet.

Also. Ich entwickle (wie wohl viele andere auch?) lokal. (Xampp)

Der Datenbankaufruf:

Code:
$db = mysqli_connect("localhost", "*****", "*****");
mysqli_select_db($db, "books");
Irgendwie bekomme ich es mit deinem Code nicht gebacken, die Abfrage durchzuführen. Zumal ich es folgendermaßen probiert habe:

Code:
$result = mysql_query($db, $sql) OR die(mysql_error());
Der fettgedruckte Teil^^ wurd hinzu editiert, damit die Datenbank auch angesprochen wird.

Der gesamte Code:

Code:
<?php
// DATENBANK-Verbindung herstellen
	$db = mysqli_connect("localhost", "root", "test");
	mysqli_select_db($db, "books"); //DATENBANK "books"!!!

	$sql = "SELECT * FROM title;";
	$result = mysql_query($db, $sql) OR die(mysql_error());
	$row = mysql_fetch_assoc($result);
?>
Die Fehlermeldung

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in F:\server\htdocs\php\data.php on line 6


Zitat:
allerdings nicht mit CREATE TABLE
sry - Schlecht formuliert. Eine eigene Funktion in PHP mit dem Namen create_table.


Michael
Mit Zitat antworten
  #5 (permalink)  
Alt 23.07.2008, 14:28
Benutzerbild von Boris
Tanzender Webentwickler
XHTMLforum-Kenner
 
Registriert seit: 29.07.2004
Ort: Kornwestheim / Stuttgart
Beiträge: 4.925
Boris ist ein sehr geschätzer MenschBoris ist ein sehr geschätzer MenschBoris ist ein sehr geschätzer Mensch
Standard

Du darfst nicht mysql mit mysqli verwechseln

Wenn du mit der MySQLi Erweiterung arbeiten willst, musst du natürlich alle entsprechenden Funktionen nutzen. mysqli_query, mysqli_fetch_assoc usw ...
__________________
My software never has bugs. It just develops random features ...

» DevShack - die Website des freien Webentwicklers Boris Bojic
Mit Zitat antworten
  #6 (permalink)  
Alt 23.07.2008, 14:48
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.843
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

Außerdem schau Dir mysql_query nochmal genau an, dann wirst Du feststellen, dass Deine Parameter andersherum gehören.
Mit Zitat antworten
Antwort


Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ausgabe geschieht nur einmal Benutzername Serveradministration und serverseitige Scripte 0 12.05.2011 15:59
Array nur ausgeben wenn es x mal vorkomm xhtmlstrict Serveradministration und serverseitige Scripte 1 23.10.2010 12:42
Mehrzeilige aber einspaltige MySQL selects direkt in einen eindimensionalem Array? braindead Serveradministration und serverseitige Scripte 3 07.01.2008 19:50
Array von Abfrage ausgeben Schneemann Serveradministration und serverseitige Scripte 18 04.10.2006 09:29
[PHP] Funktion zum Optimieren von CSS Floele Serveradministration und serverseitige Scripte 2 13.08.2005 10:31


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:17 Uhr.