phpbuddy.eu
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
Alt 28.03.2002, 21:39   #31
Registered User
 
Benutzerbild von Toxical
 
Registriert seit: Dec 2001
Ort: Berlin
Toxical macht alles soweit korrekt
hm ich hör für heute auf, war aber witzig ich mach morgen wieder mit ihr werdet ja heut nich alles machn hoff ich :gg: also gutes gelingen und viel spass
cya
ToXiCaL
Toxical ist offline   Mit Zitat antworten
Linktipp

Alt 28.03.2002, 21:43   #32
TP-Moderator
 
Benutzerbild von Levis
 
Registriert seit: Jul 2001
Ort: Regensburg / Landshut
Levis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKE
Zitat:
Original geschrieben von Toxical
hm ich hör für heute auf, war aber witzig ich mach morgen wieder mit ihr werdet ja heut nich alles machn hoff ich :gg: also gutes gelingen und viel spass
cya
ToXiCaL
kannst ja morgen weiterlesen
Ich mach jetzt auf jeden Fall noch weiter, falls schmobi noch will. jetzt wirds ja endlich interessant!
__________________
"Programmieren ist eine Kunst"

» Fahrtenbuch genial! ist endlich da! Steuern sparen so einfach wie noch nie!
» QuickShot 3.0 ist endlich da!
» Schöner einkaufen


Red Gold Green - good things come to those who wait...
Levis ist offline   Mit Zitat antworten
Alt 28.03.2002, 21:50   #33
TP-Moderator
 
Benutzerbild von Levis
 
Registriert seit: Jul 2001
Ort: Regensburg / Landshut
Levis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKE
Question

Fragen


Ich hab da mal zwei Fragen:
- Woher weiß denn MySQL jetzt, dass die "adressen" aus der Datenbank "test" gemeint sind?
- Wann muss man eigentlich immer ein '@' vor den mysql-Anweisungen schreiben? Beispiel: @mysql_connect <=> mysql_select_db
Oder ist das egal?
__________________
"Programmieren ist eine Kunst"

» Fahrtenbuch genial! ist endlich da! Steuern sparen so einfach wie noch nie!
» QuickShot 3.0 ist endlich da!
» Schöner einkaufen


Red Gold Green - good things come to those who wait...
Levis ist offline   Mit Zitat antworten
Alt 28.03.2002, 21:57   #34
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
War ein kleiner Tippfehler, es muss natürlich heissen:

PHP-Code:
mysql_select_db("test"); 
Das "@" unterdrückt Fehlermeldungen, so kann man z.B. hiermit eigene Meldungen ausgeben, ohne dass man den Besucher mit denen von PHP erschreckt:

PHP-Code:
@mysql_connect() or die("Konnte keine Verbindung aufnehmen"); 
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 28.03.2002, 22:00   #35
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Step 3
Datensätze lesen

Als nächstes lernen wir die Funktion mysql_query() kenne, welche SQL-Abfragen ausführen kann. Sie erwartet mindestens die SQL-Klausel (SELECT * FROM adressen etc.) und optinonal den Verbindungshandler. Letzterer ist dann nötig, wenn mehrere Verbindungen geöffnet sind. Das Script sieht jetzt also so aus (der SQL-Teil steht in einer Variablen, damit es übersichtlicher ist):

PHP-Code:

<?

$verbindung 
mysql_connect("localhost","root",""); // Diese Daten koennen natürlich auch aus Variablen gelesen werden
mysql_select_db("adressen");

$abfrage "SELECT * FROM adressen";
mysql_query($abfrage$verbindung);

mysql_close($verbindung);

?>
WEnn wir dieses Script nun ausführen passiert immer noch nichts, denn es wurde lediglich ein Pointer auf die entsprechenden Datensätze gesetzt. Diese müssen wir nun in einer Schleife auslesen, wobei die einzelnen Felder einer jeden Zeile in einem Array zur Verfügung stehen. Innerhalb derselbigen geben wir jeden Datensatz per print() aus:

PHP-Code:
<?

$verbindung 
mysql_connect("localhost","root",""); // Diese Daten koennen natuerlich auch aus Variablen gelesen werden
mysql_select_db("test");

$abfrage "SELECT * FROM adressen";
$ergebnis mysql_query($abfrage$verbindung);

while (
$zeile mysql_fetch_array($ergebnis)){
    print(
"$zeile[nachname],$zeile[vorname],$zeile[plz] $zeile[ort],$zeile[telefon]<br>");
}

mysql_close($verbindung);

?>
Das SCript wirkt jetzt schon sehr komplex, gibt es da irgendwelche Unklarheiten?
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 28.03.2002, 22:07   #36
TP-Moderator
 
Benutzerbild von Levis
 
Registriert seit: Jul 2001
Ort: Regensburg / Landshut
Levis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKE
ok, habs verstanden.
zu meiner Frage nochmal:
kann man immer ein '@' davorschreiben, auch wenn kein die() danach kommt?
__________________
"Programmieren ist eine Kunst"

» Fahrtenbuch genial! ist endlich da! Steuern sparen so einfach wie noch nie!
» QuickShot 3.0 ist endlich da!
» Schöner einkaufen


Red Gold Green - good things come to those who wait...
Levis ist offline   Mit Zitat antworten
Alt 28.03.2002, 22:14   #37
TP-Moderator
 
Benutzerbild von Levis
 
Registriert seit: Jul 2001
Ort: Regensburg / Landshut
Levis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKE
Exclamation

doch nicht...


Kannst du mir mal schnell die Schleife erklären:
PHP-Code:
while ($zeile mysql_fetch_array($ergebnis)){
print(
"$zeile[nachname],$zeile[vorname],$zeile[plz] $zeile[ort],$zeile[telefon]<br>");

Vor allem was "mysql_fetch_array" und $zeile[*] bedeutet.
__________________
"Programmieren ist eine Kunst"

» Fahrtenbuch genial! ist endlich da! Steuern sparen so einfach wie noch nie!
» QuickShot 3.0 ist endlich da!
» Schöner einkaufen


Red Gold Green - good things come to those who wait...
Levis ist offline   Mit Zitat antworten
Alt 28.03.2002, 22:15   #38
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Ja, dann passiert im schlimmsten Falle gar nichts.
Du kannst eine Überprüfung bzgl. erfolgreicher Verbindung etc. natürlich auch so realisieren:

PHP-Code:

$verbindung 
= @mysql_connect();

if(! 
$verbindung){
   print(
"Fehler!");

__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 28.03.2002, 22:24   #39
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein

Re: doch nicht...


Zitat:
Original geschrieben von Levis
Kannst du mir mal schnell die Schleife erklären:
PHP-Code:
while ($zeile mysql_fetch_array($ergebnis)){
print(
"$zeile[nachname],$zeile[vorname],$zeile[plz] $zeile[ort],$zeile[telefon]<br>");

Vor allem was "mysql_fetch_array" und $zeile[*] bedeutet.
Das ist ganz einfach:

Die Daten werden zeilenweise eingelesen (-> Tabelle). Die Funktion mysql_fetch_array() zerlegt innerhalb der Schleife jeden Datensatz in ein Array. Die einzelnen Felder stehen Dir somit als $array[index] zur Verfügung.
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 28.03.2002, 22:27   #40
TP-Moderator
 
Benutzerbild von Levis
 
Registriert seit: Jul 2001
Ort: Regensburg / Landshut
Levis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKE
Thumbs up

jetzt


Zitat:
Original geschrieben von schmobi

Das ist ganz einfach:
Stimmt.
Jetzt hab ichs verstanden. Danke!
__________________
"Programmieren ist eine Kunst"

» Fahrtenbuch genial! ist endlich da! Steuern sparen so einfach wie noch nie!
» QuickShot 3.0 ist endlich da!
» Schöner einkaufen


Red Gold Green - good things come to those who wait...
Levis ist offline   Mit Zitat antworten
Alt 28.03.2002, 22:54   #41
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Im momentanen Output fehlt natürlich noch die Strasse (sorry, war etwas verpeilt), aber diesen Fehler zu beheben, sollte ja kein Problem sein, oder?
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 29.03.2002, 00:37   #42
TP-Moderator
 
Benutzerbild von Levis
 
Registriert seit: Jul 2001
Ort: Regensburg / Landshut
Levis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKE
Smile

no problem


Zitat:
Original geschrieben von schmobi
Im momentanen Output fehlt natürlich noch die Strasse (sorry, war etwas verpeilt), aber diesen Fehler zu beheben, sollte ja kein Problem sein, oder?
Kein Problem!
In 10 Stunden gehts weiter *freu*
__________________
"Programmieren ist eine Kunst"

» Fahrtenbuch genial! ist endlich da! Steuern sparen so einfach wie noch nie!
» QuickShot 3.0 ist endlich da!
» Schöner einkaufen


Red Gold Green - good things come to those who wait...
Levis ist offline   Mit Zitat antworten
Alt 29.03.2002, 02:23   #43
TP-Moderator
 
Benutzerbild von Levis
 
Registriert seit: Jul 2001
Ort: Regensburg / Landshut
Levis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKE
Talking

Und nun sind es nur noch 8 1/2 Stunden .
Jetzt geh ich aber mal ins Bett, sonst bin ich morgen nicht fit genug

Gute Nacht!
__________________
"Programmieren ist eine Kunst"

» Fahrtenbuch genial! ist endlich da! Steuern sparen so einfach wie noch nie!
» QuickShot 3.0 ist endlich da!
» Schöner einkaufen


Red Gold Green - good things come to those who wait...
Levis ist offline   Mit Zitat antworten
Alt 29.03.2002, 11:06   #44
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Morgähn!

Step 3
Neue Datensätze anlegen

Damit wir gleich wie die Verrückten unsere Datenbank abfragen können, sollten wir noch einige Datensätze hinzufügen. Das geht entsprechend einfach, da in PHP bekanntlich alle Werte aus Formular-Feldern unter ihrem HTML-Namen innerhalb des verarbeitenden Scripts als Variablen zur Verfügung stehen.

Code:
HTML: <input type="text" name="eingabefeld1">

PHP:  $eingabefeld1

Das Eingabefeld ist also schnell gebaut, wir benötigen nur die Felder für Vorname, Nachname, Strasse, PLZ, Ort und Telefon. Da das Script sich selber aufruft, benötigen wir noch ein verstecktes Feld namen "action", in dem wir dem Script sagen können, was es tun soll:

Code:
<form action="<?php $PHP_SELF ?>">
Vorname: <input type="text" name="vorname"><br>
Nachname: <input type="text" name="nachname"><br>
Strasse: <input type="text" name="strasse"><br>
PLZ: <input type="text" name="plz"><br>
Ort: <input type="text" name="ort"><br>
Telefon: <input type="text" name="telefon"><br>
<input type="hidden" name="action" value="neu">
<input type="submit" value="Speichern">
</form>

In der Konstanten "$PHP_SELF" ist immer der Pfad zum Script gespeichert, wir müssen uns also keine langen URL merken. Am Anfang des Script fragen wir jetzt ab, ob die Variable "$action" existiert und welchen Wert sie hat:

PHP-Code:
if($action == "neu"){
   
// Anweisungen

Wenn dem so ist, führen wir eine SQL-Query aus und lassen uns über das Speichern informieren:

PHP-Code:
$abfrage "INSERT INTO adressen (vorname,nachname,strasse,plz,ort,telefon) VALUES ('$vorname', '$nachname','$strasse','$plz','$ort','$telefon')";
    
mysql_query($abfrage$verbindung);
    print(
"Neuen Datensatz gespeichert!<br>"
Die SQL-Anweisung ist sehr einfach aufgebaut (kein LIMIT etc.) und sollte jedem verständlich sein. Hier noch mal der schematische Aufbau:

PHP-Code:

INSERT INTO 
[Datenbank] ([diese Felder]) VALUES ([diese Werte]) 
Die einzufügenden Werte stammen direkt aus dem Formular und tragen die gleichen Bezeichnungen, wie die entsprechenden Felder in unserer Datenbank. Das ist natürlich nicht zwingend, aber erhöht die Übersichtlichkeit. Unser Script sieht nun also so aus:

PHP-Code:
<html>
<head>
    <title>Workshop</title>
</head>
<body>

<p>
<?

$verbindung 
mysql_connect("localhost","root",""); // Diese Daten koennen natuerlich auch aus Variablen gelesen werden
mysql_select_db("test");

if(
$action == "neu"){
    
$abfrage "INSERT INTO adressen (vorname,nachname,strasse,plz,ort,telefon) VALUES ('$vorname', '$nachname','$strasse','$plz','$ort','$telefon')";
    
mysql_query($abfrage$verbindung);
    print(
"Neuen Datensatz gespeichert!<br>");
}


$abfrage "SELECT * FROM adressen";
$ergebnis mysql_query($abfrage$verbindung);

while (
$zeile mysql_fetch_array($ergebnis)){
    print(
"$zeile[nachname],$zeile[vorname],$zeile[plz] $zeile[ort],$zeile[telefon]<br>");
}

mysql_close($verbindung);

?>
</p>


<p>
<b>Neue Adresse eintragen</b>
<form action="<?php $PHP_SELF ?>">
Vorname: <input type="text" name="vorname"><br>
Nachname: <input type="text" name="nachname"><br>
Strasse: <input type="text" name="strasse"><br>
PLZ: <input type="text" name="plz"><br>
Ort: <input type="text" name="ort"><br>
Telefon: <input type="text" name="telefon"><br>
<input type="hidden" name="action" value="neu">
<input type="submit" value="Speichern">
</form>
</p>

</body>
</html>
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 29.03.2002, 11:31   #45
TP-Moderator
 
Benutzerbild von Levis
 
Registriert seit: Jul 2001
Ort: Regensburg / Landshut
Levis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKELevis ist ein richtiges Arbeitstier - DANKE
Talking

norgään


guten morgen,
jetzt muss ich mir das erst einmal alles durchlesen...
__________________
"Programmieren ist eine Kunst"

» Fahrtenbuch genial! ist endlich da! Steuern sparen so einfach wie noch nie!
» QuickShot 3.0 ist endlich da!
» Schöner einkaufen


Red Gold Green - good things come to those who wait...
Levis ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik > Workshops und Tutorials
[Workshop] MySQL-Befehle mit PHP [Workshop] MySQL-Befehle mit PHP
« [Tutorial] Tokenizer | PHP und MySQL in 5 Minuten »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchs