Witam. Jestem początkujący w te klocki więc i średnio mi idzie... chce zrobić przykładową podstronę która korzystając z bazy danych odczyta rekordy. Utworzyłem bazę która wygląda następująco:
<?php
$create = mysql_query("CREATE DATABASE IF NOT EXISTS linki") or
$dystrybucje = "CREATE TABLE dystrybucje (
dystrybucje_id tinyint(2) NOT NULL auto_increment,
dystrybucje_nazwa varchar(255) NOT NULL,
dystrybucje_adres varchar(255) NOT NULL,
PRIMARY KEY (dystrybucje_id))";
$linux = "CREATE TABLE linux (
linux_id tinyint(2) NOT NULL auto_increment,
linux_nazwa varchar(255) NOT NULL,
linux_adres varchar(255) NOT NULL,
PRIMARY KEY (linux_id))";
$programy = "CREATE TABLE programy (
programy_id tinyint(2) NOT NULL auto_increment,
programy_nazwa varchar(255) NOT NULL,
programy_adres varchar(255) NOT NULL,
PRIMARY KEY (programy_id))";
$sklepy = "CREATE TABLE sklepy (
sklepy_id tinyint(2) NOT NULL auto_increment,
sklepy_nazwa varchar(255) NOT NULL,
sklepy_adres varchar(255) NOT NULL,
PRIMARY KEY (sklepy_id))";
$inne = "CREATE TABLE inne (
inne_id tinyint(2) NOT NULL auto_increment,
inne_nazwa varchar(255) NOT NULL,
inne_adres varchar(255) NOT NULL,
PRIMARY KEY (inne_id))";
echo "Poprawnie utworzono bazę!"; ?>
do tego zapelnilem ja paroma przykladowymi rekordami:
<?php
$dystrybucje = "INSERT INTO dystrybucje (dystrybucje_id, dystrybucje_nazwa, dystrybucje_adres) " .
"VALUES (1, 'www.fedoraproject.org', 'http://www.fedoraproject.org'), " .
"(2, 'www.redhat.com', 'http://www.redhat.com')";
$linux = "INSERT INTO linux (linux_id, linux_nazwa, linux_adres) " .
"VALUES (1, 'www.linuxpub.pl', 'http://www.linuxpub.pl'), " .
"(2, 'www.linuxpub.pl', 'http://www.linuxpub.pl')";
$programy = "INSERT INTO programy (programy_id, programy_nazwa, programy_adres) " .
"VALUES (1, 'Kadu', 'http://www.kadu.net'), " .
"(2, 'Open Office', 'http://pl.openoffice.org/')";
$sklepy = "INSERT INTO sklepy (sklepy_id, sklepy_nazwa, sklepy_adres) " .
"VALUES (1, 'www.sklep.iki.pl', 'http://www.sklep.iki.pl'), " .
"(2, 'sklep.linuxstuff.pl', 'http://sklep.linuxstuff.pl')";
$inne = "INSERT INTO inne (inne_id, inne_nazwa, inne_adres) " .
"VALUES (1, 'www.kernel.org', 'http://www.kernel.org')";
echo "Rekordy zostały pomyślnie dodane do bazy danych!"; ?>
No i chcialem to wyświetlić w tabeli która wyglądała by następująco... w pierwszym wierszu wpisuje nazwy podkategorii linków ręcznie (jest ich 5). Natomiast pod pierwszym wierszem stworzyć pętle która wyczytała by z bazy rekordy i wstawiała je w nowych wierwszach. To co napisałem wygląda tak:
<html>
<head>
</head>
<body>
<?php
$baza = "SELECT dystrybucje_nazwa, linux_nazwa, programy_nazwa, sklepy_nazwa, inne_nazwa " .
"FROM dystrybucje, linux, programy, sklepy, inne";
$tabela=<<<EOD
<table cellpading="0" cellspacing="0" border="1" align="center" width="550px">
<tr>
<td>Dystrybucje</td>
<td>Strony o Linuksie</td>
<td>Programy</td>
<td>Sklepy</td>
<td>Inne</td>
</tr>
EOD;
$dystrybucje = $row['dystrybucje_nazwa'];
$linux = $row['linux_nazwa'];
$programy = $row['programy_nazwa'];
$sklepy = $row['sklepy_nazwa'];
$inne = $row['inne_nazwa'];
$tabela .=<<<EOD
<tr>
<td>$dystrybucje</td>
<td>$linux</td>
<td>$programy</td>
<td>$sklepy</td>
<td>$inne</td>
</tr>
EOD;
}
$tabela .<<<EOD
</table>
EOD;
?>
</body>
</html>
Kod troche działa

bo czyta rekordy ale tworzy za dużo wierszy... w każdej kategorii (tabeli) są maksymalnie dwa rekordy więc pętla powinna utworzyć maksymalnie dwa wiersze a tworzy ich 16

nie wiem dlaczego Sad jakieś pomysły co może być nie tak?
Powód edycji: Poprawiłem bbCode / ociu