Autor Zpráva
Martin02
Profil
ahoj,
napsal jsem jednoduchý skript pro zobrazení dat z MySQL. Ovšem, nwm proč, ale nefunguje.

<?php
  function zobraz_pecky() {
    $db = mysql_connect("server", "xx", "xx") or die("Nelze se připojit k databázi.");
    mysql_select_db("xx", $db) or die("Nelze vybrat databázi.", $db);
    $dotaz = "SELECT id, name, cerveny, cerny, pochvaly, napomenuti FROM pecete";
    $result = mysql_query($dotaz, $db) or die(mysql_error($db));
    echo '<table>
            <tr>
             <td>Jméno</td>
             <td>Počet červených</td>
             <td>Počet pochval</td>
             <td>Počet černých</td>
              <td>Počet napomenutí</td>
          </tr>';  
    while($radek = mysql_fetch_assoc($result) {
       extract($radek);
       echo '
       <tr>
         <td>'. $id. '</td>
         <td>'. $name. '</td>
         <td>'. $cerveny. '</td>
        <td>'. $pochvaly. '</td>
        <td>'. $cerny. '</td>
        <td>'. $napomenuti. '</td>
      </tr>';
    }	
    echo '</table>';
  }      
?>

Samozřejmě mam pak v <body>
<?php zobraz_pecky(); ?>


Prosím poraďte, co s tím..
děkuji
Tori
Profil
Nemáte zapnuté zobrazování chyb PHP, že? Na řádku 15 chybí závorka.

Btw kdyby řádky 17-25 byly v uvozovkách, ušetříte si kontrolování, jestli někde nechybí apostrof. Nastavení připojení k databázi by taky mohlo být někde mimo funkci. (Funkčnosti to ale nebrání.)
Martin02
Profil
děkuji, ale přesto, že jsem to opravil, pořád nefunguje :(

celý soubor vypadá takto:
<?php
  function zobraz_pecky() {
    $db = mysql_connect("xx", "xx", "xx") or die("Nelze se připojit k databázi.");
    mysql_select_db("xx", $db) or die("Nelze vybrat databázi.", $db);
    $dotaz = "SELECT id, name, cerveny, cerny, pochvaly, napomenuti FROM pecete";
    $result = mysql_query($dotaz, $db) or die(mysql_error($db));
    echo '<table>
            <tr>
             <td>Jméno</td>
             <td>Počet červených</td>
             <td>Počet pochval</td>
             <td>Počet černých</td>
              <td>Počet napomenutí</td>
          </tr>';  
    while($radek = mysql_fetch_assoc($result)) {
       extract($radek);
       echo "
       <tr>
         <td>$id</td>
         <td>$name</td>
         <td>$cerveny</td>
         <td>$pochvaly</td>
         <td>$cerny</td>
         <td>$napomenuti</td>
      </tr>";
    }	
    echo '</table>';
  }      
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <title>sd</title>
  </head>
  <body>
  <?php zobraz_pecky(); ?>
  </body>
</html>
ShiraNai7
Profil
To, co jsem označil, tam nemá co dělat:
mysql_select_db("xx", $db) or die("Nelze vybrat databázi.", $db);
Tori
Profil
Co znamená "nefunguje to"? Obvyklé možnosti:
* prázdná stránka: Zřejmě je tam syntaktická chyba, přidejte úplně na začátek skriptu error_reporting(E_ALL); , aby se vám chyba zobrazila.
* zobrazí se část html, hlavička tabulky, ale chybí data z DB: Přijdou vůbec nějaká data z databáze? Ověříte třeba tak, že mezi řádky 15 a 16 přidáte
var_dump($radek);
, anebo spustíte tentýž sql dotaz v PhpMyAdminu.
Martin02
Profil
ShiraNai7:
mockrát děkuji
bylo to tím.. :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: