Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Obrazki rewriterule, php
login90
post
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 8.02.2016

Ostrzeżenie: (0%)
-----


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

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post
login90
post
Post #3





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 8.02.2016

Ostrzeżenie: (0%)
-----


Czy mógłbyś napisać co dokładnie żle zrobiłem
Dzięki
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Wygląda na to, że jest to błąd związany z potrójną trepanacją kodu i tzw. wafflingiem zapytań.


--------------------
Go to the top of the page
+Quote Post
login90
post
Post #5





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 8.02.2016

Ostrzeżenie: (0%)
-----


Ktoś mógłby mi wytłumaczyć dokładnie jak zrobić aby się ten obrazek wyświtlał Dzięki
Go to the top of the page
+Quote Post
javafxdev
post
Post #6





Grupa: Zarejestrowani
Postów: 95
Pomógł: 7
Dołączył: 27.10.2015

Ostrzeżenie: (0%)
-----


brakuje średnika po $n['images']
Go to the top of the page
+Quote Post
login90
post
Post #7





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 8.02.2016

Ostrzeżenie: (0%)
-----


dalej nie dziala
Go to the top of the page
+Quote Post
dublinka
post
Post #8





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

Ostrzeżenie: (0%)
-----


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();


Ten post edytował dublinka 3.03.2020, 08:25:55


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 11:28