Datenbankabfrage

Shadow

Mitglied
Hallo !

Ich hoffe mein Problem ist lösbar :)
Ich bin noch ziemlich am Anfang mit PHP also hab ich keinen Plan von dem Zeug. :)
Leider konnte ich auch nichts mit den Tutorials anfangen..........

Also :
Ich möchte eine Datenbank mit PHP abfragen - falls das möglich ist ( man kann sich eine Cheatdatenbank für PC - Spiele vorstellen :) )
Außerdem soll man die Cheats nach dem Anfangsbuchstaben sortieren - wenn man auf "A" klickt, so werden nur Spiele mit dem Anfangsbuchstaben A angezeigt.
VORBILD : http://www.pcgames.de/index.cfm?menu=0204

Ich hoffe jemand kann mir helfen :) - die SQL Datenbank ist schon vorhanden.
 
Ganz genau dafür benutzt man PHP/MySQL. Allerdings wäre es zu aufwendig und zeitraubend dir jetzt das gesamte Skript hinzuklatschen.
Hier ein MySQL query als beispiel dafür wie man selektiert:
PHP:
$query = ("SELECT * FROM YOUR_TABLE WHERE NAME LIKE 'A%' ORDER BY NAME");

So hab das ganze auch mal in eine variable reingetan.

Dieser Query (Ab SELECT) holt dir alle daten aus der tabelle YOUR_TABLE bei denen der Inhalt des Feldes NAME mit A anfängt. Das ganze wird dann alphabetisch sortiert nach dem inhalt in NAME.

Das nur so als beispiel.

Du solltest dir vielleicht mal das Tutorial als Grundlage reinziehen:
http://www.mysql.com/articles/ddws/2.html

So Long
TheVirus
 
DANKE !

Ne mit SQL hab ich keine Probleme ( 2 Jahre intensiv Access Datenbanken :) ). Aber die Sache mit dem PHP is mir nicht sehr in die Wiege gelegt worden :)

Nochmals vielen Dank !!!!
Werds gleich mal ausprobieren

mfg
Shadow
 
Hallo nochmals :)

Nun ja ich hab das jetzt so gemacht - nur leider gibt es keine Ausgabe der Daten :(
Woran kann das liegen ? ( Datenbank ist vorhanden !!!!!!!!! auch wurden alle Daten - Username usw. RICHTIG eingegeben )

PHP:
<?PHP $connect = @mysql_connect("hostname","username","passwort"); if (!$connect) { print "Der Datenbankserver ist nicht erreichbar!"; } else { $anfrage = mysql_query("SELECT * FROM tabelle WHERE name LIKE 'A%' ORDER BY NAME"); $zeile = mysql_fetch_array($anfrage); $data = $zeile[data]; print "$data"; } mysql_close($connect); ?>

BITTE HILFE :)

mfg
Shadow
 
Schreibst du eigentlich immer alles in eine Zeile? :)

PHP:
<?PHP 
$connect = @mysql_connect("hostname","username","passwort"); 
if (!$connect) 
{ 
  print "Der Datenbankserver ist nicht erreichbar!"; 
} 
else 
{ 
  $query = ("SELECT * FROM tabelle WHERE name LIKE 'A%' ORDER BY NAME");
  $anfrage = mysql_query ($query)
              or die (mysql_error()); 
  while($zeile = mysql_fetch_array($anfrage)) // Edited
  {
    data = $zeile["data"]; // Edited
    print $data."<br>"; //Edited
  } 
} 
mysql_close($connect); 
?>

Ich weiss jetzt nicht ob es an den kleinigkeiten liegen kann, aber versuchen kann man's ja. Normalerweise würde der PHP interpreter bei den Sachen ne Fehlermeldung ausspucken. Was kommt denn für eine Fehlermeldung? Existiert ein Feld data in der Tabelle tabelle? Existiert das feld NAME in deiner Tabelle tabelle?

Auf jedenfall wird dir dieses script oben nen mysql fehler ausspucken falls es am query liegt.

Sonst müsste er dir alle Inhalte der Zelle data der reihe nach ausgeben (wegen der while schleife), die mit A anfangen, nach dem Feld NAME sortiert. NAME muss aber wirklich in der tabelle existieren. Ich denke mal du willst nach data sortieren.

Naja, check die Fehlermeldung und du wirst wissen woran's liegt.

So Long
TheVirus
 
So ich glaub ich bin etwas zu..... naja lassen wir das PHP betreffend :)

SO SIEHT DIE TABELLE AUS :

Feld--------Typ-----Attribute--NULL--Standard-----Extra
id_______int(11)______________NEIN____________auto_increment
name_____varchar(30)___________NEIN
inhalt______text________________NEIN
kategorie__varchar(11)___________NEIN
datum_____int(11)______________NEIN


Nach der Abfrage soll ca. das hier herauskommen :) :

NAME------------------DATUM
A-SPIEL1----------------x
A-SPIEL2----------------x

usw

Der Fehler der herauskommt :
Parse error: parse error in cheats.php on line 14


Ich hab wirklich NULL Ahnung wie das gehen soll :)
Ich dachte data sei eine Variable ...???!!!!
Hoffe ich mache nicht allzuviel ärger :)


mfg
Shadow
 
Nun, wie du siehst existiert das Feld data nicht in deiner Tabelle also gibts auch nichts zum ausgeben.
PHP:
<?PHP 
$connect = @mysql_connect("hostname","username","passwort"); 
$db_select = mysql_select_db ("name_deiner_db"); // Du hast vergessen deine datenbank auszuwählen
if (!$connect || !$db_select) 
{ 
  print "Der Datenbankserver ist nicht erreichbar!"; 
} 
else 
{ 
  $query = ("SELECT name,datum FROM tabelle WHERE name LIKE 'A%' ORDER BY name"); // Heisst deine Tabelle wirklich tabelle?
  $anfrage = mysql_query ($query)
              or die (mysql_error()); 
  while($zeile = mysql_fetch_array($anfrage)) // Edited
  {
    echo ("Name: ".$zeile["name"]); // Hier an der stelle war ein Parse error
    echo (" Datum: ".$zeile["datum"]."<br>");
    } 
} 
mysql_close($connect); 
?>

So, und wenn ich mich nicht vertippt habe, deine Tabelle wirklich tabelle heisst, deine Datenbankverbindung steht und die richtige Datenbank selektiert ist dann läuft es auch.

TheVirus
 
Zuletzt bearbeitet:
Nochmal ich :)

Für die Abfrage : Kann man eine Variable z.B. für "A" einsetzen ? - denn sonst wüsste ich nicht wie das sonst gehen soll.

Außerdem hab ich da noch zwei Fragen :)
1)
Die Datenausgabe erfolgt so :
Name : BSP1 BSP2 BSP3
Datum : x1 x2 x3
usw.

wie kann man die Ausgabe so hinbekommen ? :
name_____datum
BSP1______x1
BSP2______x2
BSP3______x3

BEISPIEL: http://mitglied.lycos.de/gameswar/lookat.gif

2)
Also wenn man auf BSP2 klickt, so soll ein Inhalt angezeigt werden ( Cheat ) Wie geht denn das ? habe beispiele gesehen, wo in der statusleiste etwas mit id gestanden ist ...........



Sorry dass ich mich nicht auskenne :)

mfg
Shadow
 
Zurück