php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.08.2006, 19:48  
Neuer Benutzer
 
Registriert seit: 10.01.2006
Beiträge: 18
tigergoal
Standard Problem mit Datenbank

Hallo zusammen!

Ich möchte Daten aus einer Tabelle in einer Datenbank auslesen. Ich habe nun lang rumprobiert, doch es will einfach nicht ...

Hier was ich habe.

Code:
<?php

$session=session_start();
if($session){
echo "$benutzer";
include('config.php');

$db = mysql_connect($dbhost,$dbusername,$dpassword);
mysql_select_db($dbname,$db);
$anfrage="SELECT * FROM '$benutzer'";
$result=mysql_query($anfrage)
if (mysql_num_rows($result)){
while ($row=mysql_fetch_array($result)){
echo "<table><tr><td>Credits</td><td>Wasser</td><td>Strom</td><td>Land</td><td>Forschungspünkte</td></tr>
		<tr><td>",$row['credits'],"</td><td>",$row['wasser'],"</td><td>",$row['strom'],"</td><td>",$row['land'],"</td><td>",$row['forschungspunkte'],"</td></tr>";
}
}else
{
echo "Es hat keine Daten in der Datenbank";
}
}
else
{
echo "Sie sind nicht eingeloggt";
}
 mysql_close($db);
?>
Könnt ihr mir sagen, wo der Fehler liegt? Vielen Dank.
tigergoal ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.08.2006, 20:14  
Erfahrener Benutzer
 
Registriert seit: 16.02.2006
Beiträge: 303
tinchen
Standard

Das erste was mit auffällt ist, dass du bestimmt die Tabelle nicht in der
while-Schleife haben willst. Du möchtest bestimmt nur die Zeilen ausgeben
und nicht jedes mal eine neue Tabelle.

Wo kommt $benutzer her?
Aus der includierten Datei wohl nicht, sonst würdest du $benutzer wohl nicht
vor ihr ausgeben wollen oder?

Was macht denn die letzte else Abfrage da? Wo ist das if? //Edit: gefunden!

Gruß
Tine
tinchen ist offline  
Alt 30.08.2006, 20:17  
Neuer Benutzer
 
Registriert seit: 10.01.2006
Beiträge: 18
tigergoal
Standard

ok, hier nochmals das aktuelle skript.
PHP-Code:
<?php

$session
=session_start();
if(
$session){
echo 
"$benutzer";
include(
'config.php');

$db mysql_connect($dbhost,$dbusername,$dpassword);
mysql_select_db($dbname,$db);
$anfrage="SELECT * FROM '$benutzer'WHERE id='1'";
$result mysql_query($anfrage);
if (
mysql_num_rows($result)){
while (
$row mysql_fetch_array($result)){
echo 
"<table><tr><td>Credits</td><td>Wasser</td><td>Strom</td><td>Land</td><td>Forschungspünkte</td></tr>
        <tr><td>"
,$row['credits'],"</td><td>",$row['wasser'],"</td><td>",$row['strom'],"</td><td>",$row['land'],"</td><td>",$row['forschungspunkte'],"</td></tr>";
}
}else
{
echo 
"Es hat keine Daten in der Datenbank";
}
}
else
{
echo 
"Sie sind nicht eingeloggt";
}
 
mysql_close($db);
?>

Im moment kommt:
Code:
Benutzername
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/tigergoal/golftycoon/rohstoffanzeige.php on line 12
Es hat keine Daten in der Datenbank
Es hat jedoch Daten in der betreffenden Datenbank
tigergoal ist offline  
Alt 30.08.2006, 20:20  
Neuer Benutzer
 
Registriert seit: 10.01.2006
Beiträge: 18
tigergoal
Standard

Also, Tinchen

Zuerst wird eine Session gestartet. Dort ist $benutzer gespeichert mit je nachdem, wer sich eingeloggt hat.

$session=session_start();
if($session){

von dem stammt am schluss auch das else
tigergoal ist offline  
Alt 30.08.2006, 20:25  
Neuer Benutzer
 
Registriert seit: 10.01.2006
Beiträge: 18
tigergoal
Standard

Und eigentlich sollte schon jedes mal die ganze Tabelle ausgeben. Für jeden Benutzer sollte es 1 Zeile haben. Im moment habe ich pro Benutzer 1 Tabelle (mit 1 Zeile).

Ich werde aber möglicherweise, noch eine spalte mit "name" einfügen, sodass ich alle benutzer in einer Tabelle habe.
tigergoal ist offline  
Alt 30.08.2006, 20:28  
Erfahrener Benutzer
 
Registriert seit: 16.02.2006
Beiträge: 303
tinchen
Standard

PHP-Code:
$anfrage="SELECT * FROM '$benutzer' WHERE id=1"
Leerzeichen fehlt zwischen '$benutzer' und WHERE, integer immer ohne '$int', sonst machst du wieder einen string draus, das willst du doch gar nicht.

Du hast für jeden User eine eigene Datenbanktabelle? Aber hallo!

So viel zur
PHP-Code:
?><table>
<tr>
    <th>Credits</th>
    <th>Wasser</th>
    <th>Strom</th>
    <th>Land</th>
    <th>Forschungspunkte</th>
</tr>
<?php
$i
=0;
while (
$row mysql_fetch_array($result)){
     echo 
"<tr class=\"reihe",$i,"\">
                   <td>"
,$row['credits'],"</td>
                   <td>"
,$row['wasser'],"</td>
                   <td>"
,$row['strom'],"</td>
                   <td>"
,$row['land'],"</td>
                   <td>"
,$row['forschungspunkte'],"</td>
             </tr>"
;
     
$i $i;
?>
</table>
<?php ...
Gruß
Tine
tinchen ist offline  
Alt 30.08.2006, 20:30  
Neuer Benutzer
 
Registriert seit: 10.01.2006
Beiträge: 18
tigergoal
Standard

Ja, ok, hab im moment erst einen Benutzer angelegt. Ich werde jedoch die spalte "name" einfügen. Dann kann ich anstatt nach id, nach name auswählen.
tigergoal ist offline  
Alt 30.08.2006, 20:37  
Neuer Benutzer
 
Registriert seit: 10.01.2006
Beiträge: 18
tigergoal
Standard

Hey, leute, es hat geklappt!!!

Ich hab das ganze jetzt geändert in:

PHP-Code:
<?php

$session
=session_start();
if(
$session){
echo 
"$benutzer";
include(
'config.php');

$db mysql_connect($dbhost,$dbusername,$dpassword);
mysql_select_db($dbname,$db);
$anfrage="SELECT * FROM user WHERE name='$benutzer'";
$result mysql_query($anfrage);
if (
mysql_num_rows($result)){
while (
$row mysql_fetch_array($result)){
echo 
"<table><tr><td>Credits</td><td>Wasser</td><td>Strom</td><td>Land</td><td>Forschungspünkte</td></tr>
        <tr><td>"
,$row['credits'],"</td><td>",$row['wasser'],"</td><td>",$row['strom'],"</td><td>",$row['land'],"</td><td>",$row['forschungspunkte'],"</td></tr>";
}
}else
{
echo 
"Es hat keine Daten in der Datenbank";
}
}
else
{
echo 
"Sie sind nicht eingeloggt";
}
 
mysql_close($db);
?>
Ich check zwar nicht ganz, weshalb das so klappen sollte und vorhin nicht. Ist es nicht möglich eine Tabelle in form einer Variable zu definieren?
tigergoal ist offline  
Alt 30.08.2006, 20:41  
Erfahrener Benutzer
 
Registriert seit: 16.02.2006
Beiträge: 303
tinchen
Standard

Sicherlich ist das möglich, aber gar nicht notwenig und wenn man es genau nimmt ziemlich unsinnig. Eine Tabelle, in der alle User eingetragen werden, nicht für jeden user eine Tabelle.

Zudem solltest du dir meine Vorschläge mal anschauen, denn die while-Schleife produziert etwas, was du bestimmt nicht möchtest.

Und sollte $benutzer nicht besser per
$_SESSION['benutzer'] zur Verfügung gestellt werden?

Und SELECT * ist auch nicht gerade super - lieber das abrufen was du brauchst und aufzählen, selbst wenn es alle sein sollten.


Gruß
Tine
tinchen ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
problem mit gleiche datenbank inhalte auslesen miwo PHP Tipps 2008 3 17.09.2007 14:35
problem mit einer datenbank Pflaume91 PHP Tipps 2008 5 04.09.2007 11:05
While schleife mit Datenbank in ein Dropdown Feld (Umlaut Problem) kintaro PHP Tipps 2008 6 28.08.2007 19:11
Problem bein sortieren aus einer Datenbank FireFIghter PHP Tipps 2006 8 21.02.2006 20:58
Problem mit MySQL Datenbank mar8125 PHP Tipps 2006 5 06.02.2006 22:18
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
Datenbank Problem? Datenbanken 2 04.08.2005 14:53
PHP Datenbank Problem PHP Tipps 2005-2 14 24.06.2005 13:09
Problem bei Datenbankeintragung mit Zeit Skazi PHP Tipps 2004 4 20.09.2004 17:22
Problem mit Datenbank und Datum (Daten rausholen) PHP Tipps 2004 3 26.08.2004 13:38
Problem bei Einträgen in die Datenbank PHP Tipps 2004 11 04.07.2004 17:52
Problem beim Füllen von Formularfeldern aus Datenbank PHP Tipps 2004 3 25.06.2004 13:44
Wider ein Datenbank problem!! b++ PHP Tipps 2004 3 21.06.2004 13:48


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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.