PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySql fragen


CalibraMan
10.02.2004, 19:23:33
Hi!
Also vorab bin ich ein absoluter Anfänger un sachen php und MySql.

Jetzt will ich eine Usermap für meine Homepage machen. Dazu möchte ich:

Auf der Index 2 Textfelder für Name und Plz haben. Diese Daten sollen dann in die MySql geschrieben werden und dann soll die Usermap sich die Daten aus der Sql wieder rausholen und anzeigen.

Wie kann ich das anstellen.

Danke im voraus

andy0935
10.02.2004, 23:21:39
du brauchst in der Tabelle ein Feld wo der Benutzername drin steht.
Danach musst du auf deiner Seite ein Script erstellen. Damit deine HP auch weiss mit wem es zu tun hat. Am einfachsten erstellst du ein Formular mit wo der Benutzer sein Beutzername eingeben muss:

<form name="form1" method="post" action="index.php">
<table width="100%" border="0">
<tr>
<td>Benutzername:</td>
<td><input name="benutzer" type="text" id="benutzer"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Abschicken"></td>
</tr>
</table>
</form>

Auf der index Seite brauchst du an der Stelle an der du die Infos ausgeben willst folgendes Script:

<?php
$db = @mysql_connect (localhost, ***, ***) or die ("Es konnte keine Verbindung zum Server erstellt werden");
$db_select = @mysql_select_db (***) or die (" Verbindung zum Server: OK | Verbindung zur Datenbank: ERROR");
$result = mysql_query("SELECT * FROM *** WHERE benutzer = '$benutzer'");
mit mysql_connect wird die Verbindung zum Server erstellen.
mysql_select_db dort musst du die Datenbank angeben
und bei mysql_query musst du nach SELECT ein * Eintragen und nach FROM die Tabelle nach WHERE werden die Bedingungen für das Result angegeben. benutzer so heisst das Feld in der Tabelle und in den '' wird die Bedinung gestellt. Also das Feld Benutzer muss den Benutzername sein der den Benutzer eingegen hat. Klingt Kompliziert ist es aber nicht es ist alles Logisch.

while ($ligne = mysql_fetch_object ($result)) {
echo $linge -> Name;
echo("<br">);
echo $linge -> plz;
}

Dieser Teil gibt danach die Resultate aus.
Ich hoffe ich habe dir geholfen.

CalibraMan
11.02.2004, 17:16:07
HI!

Erstmal dickes danke für deine Hilfe.
Irgendwie gekomme ich keine Verbindung zur Datenbank. Zum Server ist Ok aber datenbank ist error.

Was muss ich denn hier bei den ganzen * eingeben?

<?php
$db = @mysql_connect (localhost, ***, ***) or die ("Es konnte keine Verbindung zum Server erstellt werden");
$db_select = @mysql_select_db (***) or die (" Verbindung zum Server: OK | Verbindung zur Datenbank: ERROR");
$result = mysql_query("SELECT * FROM *** WHERE benutzer = '$benutzer'");



Und was muss ich dann für eine Tabelle anlegen?
Also ich wollte dann dass es Benutzername und Postleitzahl eingeben muss. Die Usermap soll sich dann die Daten aus der MySql holen und anzeigen.
Wie mache ich das dann dass die Usermap die Daten aus der Mysql holt?
Mit:

while ($ligne = mysql_fetch_object ($result)) {
echo $linge -> Name;
echo("<br">);
echo $linge -> plz;
}

???

andy0935
11.02.2004, 18:35:00
Bei mysql_connect(1,2,3)
1: Der Server normalerweise localhost
2: Der Benutzername vom Server
3: Das Passwort
Bie mysql_select_db musst du den Datenbank Name angeben

CalibraMan
12.02.2004, 12:56:22
Hi!
Dann bekomme ich immer

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/www/web38/html/test1.php on line 7

oder dass er keine Verbindung zur Datenbank herstellen kann.
Wie erstelle ich denn die Tabelle mit phpMyAdmin?
Also die namen, typ und so weiter?

Hier kannst du dir das mal angucken:

http://www.mein-calibra.de/test.php

Ich habe

<center>
<form name="form1" method="post" action="test1.php">
<table width="100%" border="0">
<tr>
<td>Benutzername:</td>
<td><input name="benutzer" type="text" id="benutzer"></td><br>
<td>Postleitzahl:</td>
<td><input name="benutzer" type="text" id="plz"></td>

</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Abschicken"></td>
</tr>
</table>
</form>
</center>

in der test.php


<?php
$db = @mysql_connect (localhost, db-user, db-pass) or die ("Es konnte keine Verbindung zum Server erstellt werden");
$db_select = @mysql_select_db (db-name) or die (" Verbindung zum Server: OK | Verbindung zur Datenbank: ERROR");
$result = mysql_query("SELECT * FROM usermap WHERE benutzer = '$benutzer'");
$result = mysql_query("SELECT * FROM usermap WHERE plz = '$plz'");
?>
<html>
<a href='test2.php' target='_self'>zurück</a>
</html>

in der text1.php
und in der test2.php

<?php
while ($ligne = mysql_fetch_object ($result)) {
echo $linge -> benutzer;
echo("<br>");
echo $linge -> plz;
}
?>

Hab ich da was falsch gemacht?

Ich habe jetzt eine Tabelle erstellt "usermap"
mit den feldern

Feld Typ Attribute Null Standard Extra Aktion
benutzer char(10) Nein
plz char(5) Nein

Sind die si richtig?
Sorry wenn ich das nicht so raffe, ist alles wie du gesagt hast logisch, aber das zu verstehen ist nicht gerade einfach :-)
Danke nochmal

andy0935
15.02.2004, 00:43:21
Hallo,

du hast einen Fehler gemacht du musst nicht zwei mal mysql_query aufrufen.

$result = mysql_query("SELECT * FROM usermap WHERE benutzer = '$benutzer'AND plz = '$plz'");

So solte es funktionieren!