PHP Problem mit ID
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
aufruf
ausgehen
beschreibung
code
datenbank
fehlerquelle
feld
gruppe
not
null
ordern
profil
tabelle
teil
test
typ
url
verbindung
zeile
-
Hey, hab folgendes Problem!
<?php $verbindung = mysql_connect("***", "***" , "***") or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); mysql_select_db("***") or die ("Datenbank konnte nicht ausgewählt werden"); $i = 1; $sql = "SELECT * FROM gruppe"; $db_erg = mysql_query( $sql ); if ( ! $db_erg ) { die('Ungültige Abfrage: ' . mysql_error()); } while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC)) { $i++; echo $i ; echo $zeile['name']; $id = $zeile['id']; echo "<a href='gruppe.php?id=$id'>"; echo '<br />'; } mysql_free_result( $db_erg ); ?>
Es sollen halt alle Gruppen angezeigt werden! Das funktioniert ja auch zum Teil. Aber jeder gruppe wird halt irgendeine id zugewiesen, und nicht die id die zu ihr gehört... Wie könnte ich das ändern?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Führ doch mal SELECT * FROM gruppe in phpMyAdmin aus und schau, was raus kommt ;) ORDER BY dürfte auch nützlich sein.
-
Hab ich, und da kommt die Tabelle mit den ganzen gruppen (id, beschreibung und name)!
Aber das löst leider nicht mein Problem! -
Ne, aber das hilft dir dabei, die Fehlerquelle einzugrenzen...
<?php $verbindung = mysql_connect('***', '***' , '***') or die('Verbindung zur Datenbank konnte nicht hergestellt werden'); mysql_select_db('***') or die ('Datenbank konnte nicht ausgewählt werden'); $i = 1; $sql = 'SELECT id, name FROM gruppe ORDER BY id'; $db_erg = mysql_query( $sql ) or die('Ungültige Abfrage: ' . mysql_error()); while($zeile = mysql_fetch_array($db_erg)) { echo $i.'. <a href="gruppe.php?id='.$zeile['id'].'">'.$zeile['name'].'</a><br />'; $i++; } ?>
Beitrag zuletzt geändert: 25.4.2011 16:56:49 von fabo -
Zeig mir mal bitte die Tabelle... Mir sieht das nämlich so aus, als wäre id nicht das, was du suchst...
Beitrag zuletzt geändert: 25.4.2011 17:04:42 von fabo -
SQL:
CREATE TABLE IF NOT EXISTS `gruppe` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `beschreibung` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; INSERT INTO `gruppe` (`id`, `name`, `beschreibung`) VALUES (1, 'test1', 'Testgruppe 1'), (2, 'test2', 'Testgruppe 2'), (3, 'test3', 'Testgruppe 3'), (4, 'test4', 'Testgruppe 4');
PHP:
<?php $verbindung = mysql_connect('localhost', 'test' , '12345') or die('Verbindung zur Datenbank konnte nicht hergestellt werden: '.mysql_error()); mysql_select_db('test') or die ('Datenbank konnte nicht ausgewählt werden'); $i = 1; $sql = 'SELECT id, name FROM gruppe ORDER BY id'; $db_erg = mysql_query( $sql ) or die('Ungültige Abfrage: ' . mysql_error()); while($zeile = mysql_fetch_array($db_erg)) { if(!empty($zeile['name'])) { echo $i.'. <a href="gruppe.php?id='.$zeile['id'].'">'.$zeile['name'].'</a><br />'; $i++; } } ?>
Ergebnis:
1. <a href="gruppe.php?id=1">test1</a><br /> 2. <a href="gruppe.php?id=2">test2</a><br /> 3. <a href="gruppe.php?id=3">test3</a><br /> 4. <a href="gruppe.php?id=4">test4</a><br />
Wenn bei dir etwas anderes raus kommt, liegts an der Tabelle.
Beitrag zuletzt geändert: 25.4.2011 17:34:35 von fabo -
Hey, dankeschön :D
Es funktioniert einwandfrei!
Wäre es vlt noch möglich das du mir sagst was du geändert hast?
-
Nichts. Du hast irgendwo einen Fehler in deiner Tabelle (falscher Feldtyp oder sonstwas). Zumindest muss ich davon ausgehen, weil ich die Tabelle ja nur visuell kenne und der PHP-Teil in Ordnung ist.
Beitrag zuletzt geändert: 25.4.2011 17:36:34 von fabo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage