PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Seite online aktualisieren (Anfänger) (http://www.selfphp.de/forum/showthread.php?t=1814)

pitt 22.07.2002 21:30:32

Seite online aktualisieren (Anfänger)
 
Hallo,
habe auf meiner HP u.a. einen Vornamenbereich. Für jeden Buchstaben eine Seite, pro Seite drei Spalten(Vorname-Herkunft-Bedeutung). Da die Aktualisierung sehr zeitaufwendig ist, möchte ich nun online über ein Formular die Daten eingeben können. Die Daten sollten dann automatisch der richtigen Seite zugeordnet und sortiert werden. php und mysql sind auf dem Server vorhanden. Da php aber für mich Neuland ist, weiss ich nicht wie ich anfangen soll. Ich möchte nicht alles über php u. mysql lernen, sondern nur das notwendigste für mein Vorhaben wissen. Gibt es vielleicht ein Script das man umstricken kann? Auf jeden Fall bedanke ich mich schon mal im voraus für gute Ratschläge.

Peter

Ben20 23.07.2002 02:22:27

Für die Anzeige machst Du:


Code:


mysql_connect($server, $user, $pw);
mysql_select_db($databank);

$abfrage1 = mysql_query("SELECT * FROM vornamen WHERE vorname LIKE '$buchstabe% ORDER BY vorname");

echo "<table>";

while($array = mysql_fetch_row($abfrage1)) {

echo  "<tr><td>$array[0]</td><td>$array[1]</td><td>$array[2]</td></tr>";

}

echo "</table>";

Die Links für die einzelnen Buchstaben:

<a href="vornamen.php4?buchstabe=a">A</a>
usw.


Für die Eingabe:

Code:


if($isset($_POST['gesendet')) {

mysql_connect($server, $user, $pw);
mysql_select_db($databank);

$abfrage1 = mysql_query("INSERT INTO vornamen VALUES('$vorname', '$herkunft', '$bedeutung'"));

echo "Datensatz eingetragen";

}

echo "<form action="$PHP_SELF" method="post">"
        ."Vorname: <input name="vorname"><br>"
        ."Herkunft: <input name="herkunft"><br>"
        ."Bedeutung: <input name="bedeutung"><br>"
        ."<input type="submit" value="Speichern">
        ."</form>";


So, das sollte helfen. Wie Du die mysql Tabelle anlegst habe ich jetzt nicht erklärt. Falls Du weitere Fragen hast Poste sie hier!

pitt 23.07.2002 18:58:23

Hallo Ben,

erstmal besten Dank für Deine Mühe.
Ich werde mal versuchen dein Script anzuwenden.
Werde mich sicherlich nochmal melden, da ich noch ein blutiger Anfänger bin.

Grüße
Peter

pitt 25.07.2002 20:13:28

Hallo Ben,

habe mir mit phpmyadmin eine Tabelle angelegt.
Mit folgendem Code kann ich auf die Daten zugreifen:


<?php
$server= "xxx";
$user= "xxx";
$passwort= "xxx";
$datenbank= "xxx"; $tabelle= "vornamen";

MYSQL_CONNECT($server, $user, $passwort) or die ( "<H3>Datenbankserver nicht erreichbar</H3>");
MYSQL_SELECT_DB($datenbank) or die ( "<H3>Datenbank nicht vorhanden</H3>");
$result=MYSQL_QUERY( "SELECT * FROM $tabelle order by vorname");

echo "<table><tr>";

while ($field=mysql_fetch_field($result)) {
echo "<th>$field->vorname</th>";
}
echo "</tr>";
while($row = mysql_fetch_row($result)) {
echo "<tr>";
for($i=0; $i < mysql_num_fields($result); $i++) {
echo "<td>$row[$i]</td>";
}
echo "</tr>
";
}
echo "</table><BR><BR>";

MYSQL_CLOSE();
?>


Jetzt habe ich zwei Fragen:

1. Wie kann ich das ganze jetzt nach Anfangsbuchstaben aufrufen? (hab ich mit Deinem Script leider nicht hingekriegt).
2. Wie kann ich die Daten in einer Tabelle anzeigen lassen.


Wäre nett wenn Du mir nochmal auf die Sprünge helfen würdest!

Grüße
Peter

Ben20 26.07.2002 13:13:02

[vertippt -> gelöscht]

Ben20 26.07.2002 13:14:57

Die Anfangsbuchstaben erhälst Du indem Du eine WHERE - Klausel in Deine Abfrage einbaust.


Bsp.:

Wenn jemand die Vornamen mit B will, so klickt er ja auf den Buchstaben 'B' in der Reihe auf Deiner Homepage.

Bisher sah der Link von B wahrscheinlich irgendwie so aus.

<a href="zeige_vornamen.php4">B</a>

Wenn Du das jetzt umbaust damit es so aussieht

<a href="zeige_vornamen.php4?buchstabe=B">B</a>

Kannst Du in deinem Scriptauf die Variable $buchstabe zugreifen und sie in Deiner Abfrage verwenden


SELECT * FROM $tabelle WHERE vorname LIKE '$buchstabe%' ORDER BY vorname


mit "LIKE '$buchstabe%' wählst Du alle Datensätze bei denen der Vorname mit B beginnt.


Soweit die Abfrage.


in einer Tabelle ordnest Du es an indem Du folgendes machst.

echo "<table>"

while($array = @mysql_fetch_row($abfrage)) {

echo "<tr>"
."<td>$array[0]</td>"
."<td>$array[1]</td>"
."<td>$array[2]</td>"
."</tr>"


}

echo "</table>"



Wobei gilt.

$array[0] ist das 1 Feld in deiner Tabelle,
$array[1] das zweite
$array[2] das dritte usw.


Hoffe es hilft.


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

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.