Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]wlasny blog - problem z przesylaniem danych z bazy danych
Forum PHP.pl > Forum > Przedszkole
ABDOO
Witam,
chciałam poznać mechanizm pobierania danych z tabeli bazy danych mysql poprzez próbę stworzenia własnego bloga za pomocą znalezionych skyptów. Miałam nadzieję, że analiza kodów i analogia pozwolą mi zrozumieć jak się takie cuda robi. Niestety, niby wszystko zgodnie ze skryptem wykonane, ale nie działa. Może ktoś podpowie w czym tkwi błąd?

plik : engine.php
  1. <?php
  2. $serwer="localhost";
  3. $login="root";
  4. $haslo="haslo";
  5. $baza="blog";
  6. $rez= array();
  7. if(!isset($_GET['id[]'])){
  8. if(mysql_connect($serwer,$login,$haslo)){
  9. $sql = mysql_query("SELECT * FROM artykuly ORDER BY data DESC") or die("Błąd w zapytaniu!");
  10. while($rek=mysql_fetch_assoc($sql)){
  11. $rez[]=$rek;
  12. }
  13. }
  14. else{
  15. echo"Nie można połączyć się z bazą danych!";
  16. }
  17. }
  18. else {
  19. if(mysql_connect($serwer,$login,$haslo)){
  20. $sql = mysql_query("SELECT * FROM artykuly WHERE id=".$_GET['id']."") or die("Błąd w zapytaniu!");
  21. $rez = mysql_fetch_assoc($sql);
  22. }
  23. else {
  24. echo "Nie można połączyć z bazą danych!";
  25. }
  26. }
  27. ?>


plik
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  2. "http://www.w3.org/TR/html4/strict.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
  6. <title>Blog</title>
  7. <link rel="stylesheet" type="text/css" href="style.css">
  8. </head>
  9. <body>
  10. <?php include('engine.php')?>
  11. <div class="kontener">
  12. <div class="gora">
  13. <h1><a href="index.php">Blog</a></h1>
  14. </div>
  15. <div class="lewa">
  16. <?php if(isset($_GET['id'])): ?>
  17. <div class="wpis">
  18. <h3 class="tytul"><?php echo $rez['tytul']?></h3>
  19. <span class="tekst">Dodano:</span>
  20. <span class="data">
  21. <?php echo date('d-m-Y H:i:s',strtotime($rez['data']))?>
  22. </span>
  23. <p class="tresc"><?php echo $rez['tresc']?></p>
  24. <a href="index.php" class="powrot">Powrót</a>
  25. </div>
  26. <?php else: ?>
  27. <?php foreach ($rez as $pozycja): ?>
  28. <div class="wpis">
  29. <h3 class="tytul"><?php echo $pozycja['tytul']?></h3>
  30. <span class="tekst">Dodano:</span>
  31. <span class="data">
  32. <?php echo date('d-m-Y H:i:s',strtotime($pozycja['data']))?>
  33. </span>
  34. <p class="wstep"><?= $pozycja['wstep']?></p>
  35. <a href="?id=<?= $pozycja['id']?>" class="wiecej">więcej...</a>
  36. </div>
  37. <?php endforeach?>
  38. <?php endif?>
  39. </div>
  40. <div class="prawa">
  41. <h4 class="autor">Autor</h4>
  42. <p class="autor-info">
  43. <img src="autor.jpg" class="autor-foto">
  44. Nazywam się ...
  45. </p>
  46. </div>
  47. <div class="stopka">
  48. Blog &copy;2012
  49. </div>
  50. </div>
  51. </body>
  52. </html>


po otworzeniu index.php przez localhost wyświetla się strona, zgodnie ze schematem, ale bez danych z bazy. pomyślałam, że może błąd twki w tabeli, więc utworzyłam ją na nowo kodem:

  1. CREATE TABLE artykuly (
  2. id int(11) NOT NULL AUTO_INCREMENT,
  3. tytul varchar(250) collate utf8_polish_ci NOT NULL,
  4. wstep varchar(500) collate utf8_polish_ci NOT NULL,
  5. tresc text collate utf8_polish_ci NOT NULL,
  6. PRIMARY KEY (id)
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;


wprawdzie w skrypcie bylo podane zeby te wszystkie nazwy: artykuly, id, tytul, wstep, tresc, data byly umieszczone w '' ale kiedy tak robilam wyskakiwal bląd syntax
korzystam z phpAdmin

z góry dziękuję za pomoc
nospor
Cytat
ale bez danych z bazy.
yyy....eeee.....a czy ty w ogóle jakieś dane w tej tabeli masz? Bo jak nie masz to niby jakim cudem ci się mają wyświetlaćquestionmark.gif

ABDOO
tak , dane w bazie są biggrin.gif aż tak początkująca nie jestem hehe
CuteOne
1.zamień
  1. if(!isset($_GET['id[]'])){
  2. //na
  3. if(!isset($_GET['id'])){

2. na przyszłość - zamień
  1. or die("Błąd w zapytaniu!");
  2. //na

3. włącz raportowanie błędów ( wpliku engine.php zaraz za <?php wstaw )
  1. ini_set('display_errors', 1);
ABDOO
Pozamieniane. Niestety wciąż ta sama sytuacja. Jakieś pomysły?
i w sumie to tak wygląda jakby się wczytywał sam html
czyli moze w pliku index.php cos nie gra. Np zupelnie nie rozumiem czemu tam w linii 16, 26 i 27 sa dwukropki, czy to tak ma byc? jak je kasuje to wyskakuje błąd synatx w linii26...

Po prostu ręce opadają . Problem rozwiązany. Po raz kolejny podczas tworzenia pliku w notatniku zostało nadane kodowanie Unicode big endian O_O Po zmianie na utf-8 połaczenie z bazą działa exclamation.gif!! dziękuję za próby pomocy.
_Borys_
Z tymi dwukropkami to jest prawidłowe bo masz trochę inny rodzaj if() i na końcu jest endif a więc nie ma błędu.
  1. if():
  2. else:
  3. endif

Dodaj do tabeli w bazie wiersz data i powinno działać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.