Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Obrazki rewriterule
Forum PHP.pl > Forum > Przedszkole
login90
Witajcie mam następujący problem. Nie wyświetlają mi sie obrazki. Mam plik główny i ten od wyświatlania. Mam tesz plik htaccess. Co jest nie tak moze ktoś wie

plik główny
$newsquery = mysql_query("select * from images order by id desc") or die("bład zapytania");
if(mysql_num_rows($newsquery) > 0 ) {
while($n = mysql_fetch_assoc($newsquery)) {
<li><a href="user/'.$n['id'].'/'.$n['text'].'""><img src="image/'.$n['images'].'" ></a></li>

}}
if(mysql_num_rows($newsquery) <= 0) {
echo "brak news";

}

plik wyswitlania
$id = ($_GET['id']);
$newsquery = mysql_query("select * from images where id='$id'") or die("bład zapytania");
if(mysql_num_rows($newsquery) > 0 ) {
while($n = mysql_fetch_assoc($newsquery)) {

<img src="image/'.$n['images'].'"></a></li>
if(mysql_num_rows($newsquery) <= 0) {
echo "brak news";

}
plik htaccess
RewriteEngine on

RewriteRule ^index?$ index.php
RewriteRule ^user/([0-9a-zA-Z]+)/([0-9a-zA-Z]+) user.php?id=$1&uid=$2

trueblue
Najpierw sprawdź jaki kod HTML się generuje - zajrzyj w źródło strony.

P.S. W tym drugim skrypcie skoro pobierasz jeden wiersz, to warto ograniczyć zapytanie poprzez klauzulę LIMIT 0,1 i pozbyć się pętli while. A drugi if jako else.
login90
Czy mógłbyś napisać co dokładnie żle zrobiłem
Dzięki
trueblue
Wygląda na to, że jest to błąd związany z potrójną trepanacją kodu i tzw. wafflingiem zapytań.
login90
Ktoś mógłby mi wytłumaczyć dokładnie jak zrobić aby się ten obrazek wyświtlał Dzięki
javafxdev
brakuje średnika po $n['images']
login90
dalej nie dziala
dublinka
a gdzie tam jest jakies echo bo nie widze

Jak to:

  1. <li><a href="user/'.$n['id'].'/'.$n['text'].'""><img src="image/'.$n['images'].'" ></a></li>


lub to

  1. <img src="image/'.$n['images'].'"></a></li>


ma cos wyswietlic skoro nie drukujesz tego.


Wogóle to powinienes przesiasc sie na mysqli lub PDO bo mysql juz stare jest.
To powinno mniej wiecej wygladac tak:

  1. <?php
  2.  
  3.  
  4.  
  5. $mysqli = new mysqli('localhost', 'root', 'haslo', 'nazwabazy');
  6.  
  7. if ($mysqli->connect_error)
  8. {
  9. die("Błąd połączenia z MySQL");
  10. }
  11.  
  12. $sql = "SELECT * FROM images ORDER BY `id` DESC";
  13. $result = $mysqli->query($sql);
  14.  
  15. $allRows = $result->num_rows;
  16.  
  17. if ($allRows > 0)
  18. {
  19.  
  20. print 'Wszystkich rekordów: <u><b>' . $allRows . '</b></u>';
  21.  
  22. while($row = $result->fetch_assoc())
  23. {
  24.  
  25. echo "<li><a href=\"user/".$n['id'].'/'.$n['text']."\"><img src=\"image/".$n['images']."\" ></a></li>";
  26.  
  27. }
  28.  
  29. } else
  30. {
  31.  
  32. print 'Znaleziono: ' . $allRows . ' rekordów';
  33.  
  34. }
  35.  
  36. $mysqli->close();


i podobnie z drugim przykladem tylko tutaj pobierasz jeden wiersz o danym ID

  1. $stmt = $mysqli->prepare("SELECT id, images FROM images WHERE id = ?");
  2. $stmt->bind_param("i", $_GET['id']);
  3. $stmt->execute();
  4. $stmt->store_result();
  5. if($stmt->num_rows === 0) exit('Brak news');
  6. $stmt->bind_result($id, $image);
  7. $stmt->fetch();
  8. echo "<img src=\"image/".$image."\"></a></li>";
  9. $stmt->close();
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.