Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Grupowanie wyników
seba15290
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 6.06.2007

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


Witam mam taki skrypt:
  1. <?php
  2. include ('./mysql_connect.php');
  3. $zapytanie = "select * from kraj as k, people as p, adresy as a where p.id_people=a.id_pe
    ople and k.id_kraj=a.id_kraj order by p.nazwisko, p.imie;"
    ;
  4.  
  5.  
  6. if (!mysql_query($zapytanie))
  7. print "Nie udało sie odczytac danych z tabeli"; 
  8.  
  9. $wynik = mysql_query($zapytanie)
  10. or die('Błąd zapytania'); 
  11.  
  12. $ile_znalezionych=mysql_num_rows($wynik);
  13. echo "Biogramy ($ile_znalezionych)";
  14.  
  15. echo "<table cellpadding=\"0\" border=0 align=\"center\">";
  16.  echo "<tr>";
  17. echo "<td>".imie,' ',i,' ',nazwisko."</td>";
  18. echo "</tr>";
  19. while($r = mysql_fetch_array($wynik)) {
  20.  
  21. $cat=$r['id_people'];
  22.  
  23.  echo "<tr>";
  24. echo "<td><a href=\"biogram.php?id_cat={$cat}\">".$r['imie'],' ', $r['nazwisko']."</a></td>";
  25. echo "</tr>";
  26.  
  27.  
  28. }
  29. echo "</table>";
  30.  
  31.  
  32.  
  33.  
  34. ?>

Teraz wyświetla mi osoby alfabetycznie, ale ja chciałbym aby wyniki wyświetlały się tak jak na tej stronie.

Ten post edytował seba15290 19.10.2007, 14:23:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
seba15290
post
Post #2





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 6.06.2007

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


  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3.  
  4. <head>
  5. <title>Wyniki wyszukiwania</title>
  6. <meta name="GENERATOR" content="Quanta Plus">
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  8. <style type="text/css" media="screen">@import "includes/layout.css";</style>
  9. </head>
  10. <body>
  11. <?php
  12. require_once ('./mysql_connect.php');
  13. $zapytanie = "select * from kraj as k, people as p, adresy as a where p.id_people=a.id_pe
    ople and k.id_kraj=a.id_kraj order by p.nazwisko, p.imie;"
    ;
  14.  
  15.  
  16. if (!mysql_query($zapytanie))
  17. print "Nie udało sie odczytac danych z tabeli"; 
  18.  
  19. $wynik = mysql_query($zapytanie)
  20. or die('Błąd zapytania'); 
  21.  
  22. $ile_znalezionych=mysql_num_rows($wynik);
  23. echo "Biogramy ($ile_znalezionych)<br />";
  24.  // echo "<table cellpadding=\"0\" border=0 align=\"center\">";
  25.  
  26.  
  27. $r = mysql_fetch_array($wynik);
  28. $nazwisko=$r['nazwisko'];
  29. $data = array($nazwisko);
  30. $lastLetter = null;
  31. foreach ($data as $name){
  32. $firstLetter = strtoupper(substr($name,0,1));
  33. if ($firstLetter != $lastLetter){
  34. $lastLetter = $firstLetter;
  35. echo "<b>$firstLetter</b><br />";
  36. }
  37. echo $name.'<br />';
  38. }
  39.  
  40. ?>
  41.  
  42. </body>
  43. </html>

Wstawiłem to tak i teraz wyświetla mi ostatni rekord z pola nazwisko, jak zrobić aby wyświetlał wszystkie nazwiska?

Cytat(nospor @ 21.10.2007, 21:54:14 ) *
zupelnie źle podpiales mechanizm ktory ci podalem. Pomysl troche. Moja petla to twoja glowna petla dla zapytania. a nie ty jeszcze wewnatrz tworzysz sztuczną petle...


Nie bardzo rozumiem jak mam więc podpiąć ten mechanizm. Dopiero zaczynam uczyć się php i jetem początkujący. Rozumiem że w tej linijce:
  1. <?php
  2. $data = array('Adam','ala','Bartek','Celinka','Cwikla','Inne do bolu');
  3. ?>
mam wstwić wyniki zapytania więc zastosowałem mysql_fetch_array. Gdybyś mógł pomóż mito podpiąć bo mi jest to potrzebne na wtorek. Zgóry dzięki
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 14:47