njubieh-Fragen zu mySQL

Sebastian Wramba

Erfahrenes Mitglied
Also ich geb's auf und programmier mir mein eigenes Clanwar-Script.

Was ich dazu bräuchte ist folgendes:

Wie kann ich eine mySQL-Tabelle erstellen?
Wie kann ich zu meiner mySQL-Datenbank connecten?
Wie speicher ich etwas durch ein Formular in einer Tabelle?
Wie kann ich Einträge in einer Tabelle löschen bzw. bearbeiten?
Wie kann ich eine Spalte (z.B. die Ergebnisse) leer lassen und später hinzufügen?

Mit for-Schleifen kenn ich mich ja jetzt aus. :) :)

Nur müsste ich jetzt wissen, wie man die Erbnisse ausliest.

Also nur den ersten Teil mit Abfragen der DB:

PHP:
for($i=0; $i < mysql_num_rows($cEinträge); $i ++)
{
echo "irgendeine Tabelle in der alle Daten stehen"
}


Ein Beispiel wie die Tabelle aussehen soll.
 
Hi,

zunächst mal: ein Super-Tool zum Verwalten einer MySQL-Datenbank ist PHPMyAdmin

Damit kannst Du Tabellen erstellen, Tabellen anzeigen lassen, usw. usw.

Zu der Programmierung in PHP: schau mal hier , da sind sämtliche MySQL-Befehle, die es in PHP gibt beschrieben.

die Befehle, die Du im Moment suchst sind:

mysql_connect($hostname,$user,$passwort)
mysql_query("SQL-Anweisung")
mysql_fetch_row("DB-Zeiger")


noch ein guter Link in diesem Zusammenhang ist: MySQL-Handbuch

noch Fragen? ;)

Gruß
Dunsti
 
Original geschrieben von Dunsti
Hi,

zunächst mal: ein Super-Tool zum Verwalten einer MySQL-Datenbank ist PHPMyAdmin

Damit kannst Du Tabellen erstellen, Tabellen anzeigen lassen, usw. usw.

Hmm. Wie kann ich Einträge online durch ein Admin-"Interface" bearbeiten?


Zu der Programmierung in PHP: schau mal hier , da sind sämtliche MySQL-Befehle, die es in PHP gibt beschrieben.

OK. Mit der Seite kann ich schon mal was anfangen. Echt gut.

die Befehle, die Du im Moment suchst sind:

mysql_connect($hostname,$user,$passwort)
mysql_query("SQL-Anweisung")
mysql_fetch_row("DB-Zeiger")

Also sieht der Anfang meiner Datei so aus, oda was?

zuerst mal:

PHP:
mysql_create_db("GO_clanwar")

[edit]ach ne ******e das war was anderes :) [/edit]

dann in der index.php oda was auch immer...

PHP:
<?php
$hostname = "datenbankserver"
$user = "gouraud"
$passwort = "jadaswüsstestduwohlgerne"
$dbname = "datenbankname"

$connect = mysql_connect($hostname,$user,$passwort)

mysql_select_db($dbname,$connect) // hab ich aus nem anderen Script

?>

Wie lese ich nun Informationen aus einer Tabelle aus?

Ich mach das mal so wie ich das vermute:

Also ich habe folgende Informationen gespeichert:

ID: wird automatisch eingefügt (ID INT AUTO_INCREMENT PRIMARY KEY)
Datum: $datum
Gegner: $clanname
Spieler: $spieler
Map: $karte_gegner
Server: $server-ip

Dann noch zusätzliche Informationen zu dem Clan, aber die kommen später. *g*

PHP:
$aEinträge = "SELECT ID,datum,clanname,spieler,karte_gegner,server-ip FROM GO_clanwar ORDER BY ID DESC"; // was heißt "DESC"?

$cEinträge = mysql_query($aEinträge)

Und dann die for-Schleife, nicht wahr?


Nur ob das alles richtig ist, was ich da oben geschrieben hab. :)
 
Zuletzt bearbeitet:
Hmm. Wie kann ich Einträge online durch ein Admin-"Interface" bearbeiten?

PHPMyAdmin ist ja genau das ;)
Ansonsten müsstest Du das selbst programmieren (mit den entsprechenden PHP-Befehlen)

den Befehl mysql_create_db() brauchst Du eigentlich überhaupt nicht, da Dein Provider meistens eine DB "vorkonfiguriert".
Du könntest aber z.B. mit mysql_create_table() da eine Tabelle anlegen.

ansonsten is alles richtig, was Du geschrieben hast.

viel Spaß beim lernen :)

Gruß
Dunsti
 
Is mit auch aufgefallen mit dem create_db. :)

Wie ich eine Tabelle anlege, kenn ich ja schon aus nem anderen Script. Und ne for-Schleife zu erstellen is ja auch nicht so besonders schwer.

Danke für die Tipps.

Ich werd mal das Ergebnis hier posten. :)
 
Ich hab noch ne Frage.

Und zwar hab ich jetzt ein admin-Center angelegt, dass alle Angaben aus der Tabelle in Textfelder zum Bearbeiten umwandelt. Ich würde nun gerne wissen, was ich noch hinzufügen muss, damit die Schaltflächen ("Änderungen speichern" und "Löschen") funktionieren. Die vergebenen Werte sind nur Beispiele von Dreamweaver :) und funktionieren so wie sie da jetzt stehen ja nicht.

Also mein Code:

PHP:
<?php
include("connect.php")


$aEinträge = "SELECT ID,datum,clanname,clanurl,ergebnis,spieler,karte,karte_gegner,server-ip FROM GO_clanwar ORDER BY ID DESC";

$cEinträge = "mysql_query($aEinträge)";

echo "<link rel=\"stylesheet\" href=\"http://www.meocom-online.de/home/sebastian/links.css\" type=\"text/css\">";
echo "<link rel=\"stylesheet\" href=\"http://www.meocom-online.de/home/sebastian/bg.css\" type=\"text/css\">";

echo "<body bgcolor=\"#006699\">


if($cEinträge)
{
for($=0 ; $i < mysql_num_rows($cEinträge) ; $i ++) {

echo "<form name=\"form1\" method=\"post\" action="keineahnung">"; // was kommt hier bei "action" hin?
echo "<table width=\"100%\" border=\"1\" bordercolor=\"#FFFFFF\" cellspacing=\"0\">";
echo "  <tr>"; 
echo "    <td>";     
echo "     <input type=\"text\" name=\"textfield\" value=" . $datum . ">";    
echo "    </td>";
echo "   <td>" . $clanname . "</td>";
echo "    <td>";
echo "   <input type=\"text\" name=\"textfield2\" value=" . $spieler . ">";      
echo "    </td>";
echo "    <td>"; 
echo "        <select name=\"select\" size=\"1\">";
echo "          <option>Won</option>";
echo "          <option>Lost</option>";
echo "          <option>Draw</option>";
echo "        </select>";      
echo "    </td>";

echo "    <td>";      
echo "        <input type=\"text\" name=\"textfield3\" value=" . $karte . ">";      
echo "     / " . $karte_gegner . " </td>";

echo "    <td>";
echo "        <input type=\"text\" name=\"textfield5\" value=" . $server-ip .">";
echo "        <input type=\"text\" name=\"textfield4\" value=" . $ergebnis . ">";
echo "    </td>";
echo "  </tr>";

echo "</table>";
echo "<input type=\"submit\" name=\"Abschicken\" value=\"Änderungen speichern\">
echo "<input type=\"reset\" name=\"Abschicken2\" value=\"Löschen\"> // die meine ich, ich hab einen Backslash vor reset, keine Ahnung warum der dass nicht anzeigt.

echo "</form>";
}


else
{
echo "<div align=\"center\">Es gibt noch keine Einträge.";
echo "<br>";
echo "<a href=\"index.php\">Zurück zum Planer</a>";
echo "</div>";
}

Ist da überhaupt alles richtig? Nicht das ich mich nachher noch über so einen parse error aufregen muss. :[

Und achtet bitte auf die orangenen Kommentare. :)


[edit]
jetzt hab ich einen anderen parse error in line 4:

PHP:
include('connect.php')

$aEinträge = "SELECT ID,datum,clanname,clanurl,ergebnis,spieler,karte,karte_gegner,server-ip FROM GO_clanwar ORDER BY ID DESC";

$cEinträge = "mysql_query($aEinträge)";

echo "<link rel=\"stylesheet\" href=\"http://www.meocom-online.de/home/sebastian/links.css\" type=\"text/css\">";
echo "<link rel=\"stylesheet\" href=\"http://www.meocom-online.de/home/sebastian/bg.css\" type=\"text/css\">";

echo "<body bgcolor=\"#006699\">";

WO IST DA WAS FALSCH??? :[ :-[ :{}
 
Zuletzt bearbeitet:
Hi,

also: zum Einen wäre ich Vorsichtig mit Sonderzeichen wie äöü in Variablennamen.
zum Zweiten: bei ACTION muss das Script hin, welches das Formular auswertet. Da kann auch $PHP_SELF stehen. ($PHP_SELF ist immer das Script selbst)
und zum Dritten: Vorhandene Daten in der Tabelle ändern geht mit "UPDATE" (siehe MySQL-Handbuch ;) )

Gruß
Dunsti
 
Also wenn ich bei ACTION submit eintrage, dann muss irgendwo was stehen was mit

PHP:
if($submit)

anfängt, oder was?

Was ist mit dem parse error?
 
Ach ne is schon klar. Ich hab mal drüber nachgedacht. Also doch $PHP_SELF darein und dann irgendwo im Script if($submit).

Aaahh! Ich verstehe.... :)
 

Neue Beiträge

Zurück