Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][sql] {poczatki} sortowanie desc
Forum PHP.pl > Forum > Przedszkole
mainfreme
Witam wszystkich, zrobiłem coś takiego by sortowac po bazie danych wg. name, haslo itd... wg. desc i asc

i wywala mi taki błąd:
"Parse error: syntax error, unexpected T_IS_EQUAL, expecting ',' or ')' in /home/kita/public_html/projekty/epanel/test/reg_adm.php on line 47"

moze ktoś powiedziec jak to naprawidz, jak to dobrze zrobic, i co ten error znaczy bo cos go nie rozumie :/

dzieki wielkie

  1. <?
  2.  
  3.  
  4. $name=$_POST['name'];
  5. $haslo=$_POST['haslo'];
  6. $web=$_POST['web'];
  7.  
  8.  
  9. mysql_connect($host,$username,$password);
  10. mysql_select_db($database) or die("Nie znaleziono bazy danych");
  11.  
  12. $id = intval($_GET['id']);
  13.  
  14. $query = "INSERT INTO login(`id`, `name`, `haslo`, `data`, `strona`) VALUES ('$id', '$name', '$haslo', CURRENT_TIMESTAMP, '$web');";
  15. mysql_query($query);
  16.  
  17. echo "<tr><td></td><td><a href='reg_adm.php?id=desc'> Id</a></td>
  18. <td><a href='reg_adm.php?name=desc'>Name</a></td>
  19. <td><a href='reg_adm.php?haslo=desc'>Hasło</a></td>
  20. <td><a href='reg_adm.php?data=desc'>data</a></td>
  21. <td><a href='reg_adm.php?strona=desc'>Strona</a></td></tr> ";
  22.  
  23.  
  24. if(isset($_POST['name'] == 'desc')) {
  25. $zap = mysql_query("select `id`, `name`, `haslo`, `data`, `strona` from login ORDER BY name DES
    C"
    )
  26. or die("Zapytanie niepoprawne");
  27. };
  28. if(isset($_POST['haslo'] == 'desc')){
  29. $zap = mysql_query("select `id`, `name`, `haslo`, `data`, `strona` from login ORDER BY haslo DE
    SC"
    )
  30. or die("Zapytanie niepoprawne");
  31. };
  32. if(isset($_POST['data'] == 'desc')) {
  33. $zap = mysql_query("select `id`, `name`, `haslo`, `data`, `strona` from login ORDER BY data DES
    C"
    )
  34. or die("Zapytanie niepoprawne");
  35. };
  36. if(isset($_POST['strona'] == 'desc')){
  37. $zap = mysql_query("select `id`, `name`, `haslo`, `data`, `strona` from login ORDER BY strona D
    ESC"
    )
  38. or die("Zapytanie niepoprawne");
  39. };
  40.  
  41. while(list($id,$na,$tl,$pr,$str)=mysql_fetch_row($zap))
  42.  
  43. echo "<tr>
  44. <td><div class='czcionka'><a href='edy_id.php?id=$id'>Edytuj</a></td>
  45. <td><div class='czcionka'>$id</td>
  46. <td><div class='czcionka'>$na</td>
  47. <td><div class='czcionka'>$tl</td>
  48. <td><div class='czcionka'>$pr</td>
  49. <td><div class='czcionka'>$str</td>
  50. </tr>";
  51.  
  52. ?>
Sadu2
Hmm czy to nie powinno być tak?

  1. <?php
  2. while(list($id,$na,$tl,$pr,$str)=mysql_fetch_row($zap))
  3. {
  4. echo "<tr>
  5. <td><div class='czcionka'><a href='edy_id.php?id=$id'>Edytuj</a></td>
  6. <td><div class='czcionka'>$id</td>
  7. <td><div class='czcionka'>$na</td>
  8. <td><div class='czcionka'>$tl</td>
  9. <td><div class='czcionka'>$pr</td>
  10. <td><div class='czcionka'>$str</td>
  11. </tr>";
  12. }
  13. ?>
nevt
to jest błędna konstrukcja
  1. <?php
  2. if(isset($_POST['name'] == 'desc')) {
  3. ?>

zamien na coś w rodzaju:
  1. <?php
  2. if((isset($_POST['name']) ? $_POST['name'] : '') == 'desc') {
  3. ?>

i będzie hulać
nowotny
A tam bajdurzycie mości panowie... ;D przecież jest wyrażnie napisane: Parse error...
Tu są błędy:
  1. <?php
  2. if(isset($_POST['strona'] == 'desc')){
  3. $zap = mysql_query("select `id`, `name`, `haslo`, `data`, `strona` from login ORDER BY strona D
    ESC"
    )
  4. or die("Zapytanie niepoprawne");
  5. };
  6. ?>

Po bloku instrukcji if nie stawia się średnika...
mainfreme
Zrobiłem tak jak powiedzieliście i teraz nowy error :/

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/kita/public_html/projekty/epanel/test/reg_adm.php on line 65

centrum zainteresowania:
  1. <?php
  2. if((!isset($_POST['name']) ? $_POST['name'] : '') == 'desc') {
  3. $zap = mysql_query("select `id`, `name`, `haslo`, `data`, `strona` from login ORDER BY name DES
    C"
    )
  4. or die("Zapytanie niepoprawne");
  5. };
  6. if((!isset($_POST['haslo']) ? $_POST['haslo'] : '') == 'desc') {
  7. $zap = mysql_query("select `id`, `name`, `haslo`, `data`, `strona` from login ORDER BY haslo DE
    SC"
    )
  8. or die("Zapytanie niepoprawne");
  9. };
  10. if((!isset($_POST['data']) ? $_POST['data'] : '') == 'desc') {
  11. $zap = mysql_query("select `id`, `name`, `haslo`, `data`, `strona` from login ORDER BY data DES
    C"
    )
  12. or die("Zapytanie niepoprawne");
  13. };
  14. if((!isset($_POST['strona']) ? $_POST['strona'] : '') == 'desc') {
  15. $zap = mysql_query("select `id`, `name`, `haslo`, `data`, `strona` from login ORDER BY strona D
    ESC"
    )
  16. or die("Zapytanie niepoprawne");
  17. };
  18.  
  19.  
  20. while(list($id,$na,$tl,$pr,$str)=mysql_fetch_row($zap)) {
  21. // 65 linia
  22. echo "<tr>
  23. <td><div class='czcionka'><a href='edy_id.php?id=$id'>Edytuj</a></td>
  24. <td><div class='czcionka'>$id</td>
  25. <td><div class='czcionka'>$na</td>
  26. <td><div class='czcionka'>$tl</td>
  27. <td><div class='czcionka'>$pr</td>
  28. <td><div class='czcionka'>$str</td>
  29. </tr>";
  30. };
  31. ?>


ktoś wie co gdzie i jak zle ?
Sadu2
No to chyba teraz to:

  1. <?php
  2. while(list($id,$na,$tl,$pr,$str)=mysql_fetch_row($zap)) {
  3. // 65 linia
  4. echo "<tr>
  5. <td><div class='czcionka'><a href='edy_id.php?id=$id'>Edytuj</a></td>
  6. <td><div class='czcionka'>$id</td>
  7. <td><div class='czcionka'>$na</td>
  8. <td><div class='czcionka'>$tl</td>
  9. <td><div class='czcionka'>$pr</td>
  10. <td><div class='czcionka'>$str</td>
  11. </tr>";
  12. };
  13. ?>


? tongue.gif
mainfreme
że co questionmark.gif
kszychu
Cytat(mainfreme @ 21.02.2008, 15:44:12 ) *
że co questionmark.gif

Śmigło! Kolega Ci wyraźnie napisał, że po } nie stawia się średnika!

A poza tym, to pousuwaj `` z nazw pól.
mainfreme
zmieniłem!
Ale dalej nie działa sad.gif
coś jest z tymi selectami
potreb
Ja się zastanawiam po co tyle zapytań do bazy po jeden rekord? Po co ci te ify?
mainfreme
bo chciałem zrobic, ze jak kliknie user na "link" zeby poszło dane zapytanie do bazy poprostu zeby tabelke mi posortowało wg. danej kolumny
potreb
Jak chcesz zrobić sorotwanie to wystarczy ci jedno zapytanie i tylko w zapytanie zmieniasz sobie zmienne!
Np tak:
  1. <?php
  2. $zap = mysql_query("select `id`, `name`, `haslo`, `data`, `strona` from login ORDER BY `".$_POST['sortujwgpola']."` DESC")
  3. ?>


Jeżeli chcesz mieć też sortowanie wg np DESC lub też nie, możesz dodać jakąś wartość która będzie przesyłana.
mainfreme
zrobiłem tak :

  1. <?php
  2. echo "<tr><td></td><td><a href='reg_adm.php?id'> Id</a></td>
  3. <td><a href='reg_adm.php?desc=name'>Name</a></td>
  4. <td><a href='reg_adm.php?desc=haslo'>Hasło</a></td>
  5. <td><a href='reg_adm.php?desc=data'>data</a></td>
  6. <td><a href='reg_adm.php?desc=strona'>Strona</a></td></tr> ";
  7.  
  8. $id = $_POST['id'];
  9. $name = $_POST['name'];
  10.  
  11. $zap = mysql_query("select `id`, `name`, `haslo`, `data`, `strona` from login ORDER BY `.$_POST
    =['desc'].` asc"
    )
  12. or die("Zapytanie niepoprawne");
  13. ?>


i nie działa, zły select :/
moze ktos mi powiedzie czemu questionmark.gif
potreb
Jeżeli wysyłasz zmienną przez link stosuj get
  1. <?
  2. echo "<table><tr><td></td><td><a href='index.php?sort=id'> Id</a></td>
  3. <td><a href='index.php?sort=name'>Name</a></td>
  4. <td><a href='index.php?sort=haslo'>Hasło</a></td>
  5. <td><a href='index.php?sort=data'>data</a></td>
  6. <td><a href='index.php?sort=strona'>Strona</a></td></tr> ";
  7. ($_GET['sort'] ? $sortby=$_GET['sort'] : $sortby='id');
  8. $sql = mysql_query("select * from login ORDER BY `".$sortby."`") or die("Zapytanie niepoprawne");
  9. echo "";
  10. while($row = mysql_fetch_array ($sql)){
  11. echo "<tr><td>".$row['id']."</td>";
  12. echo "<td>".$row['name']."</td>";
  13. echo "<td>".$row['data']."</td>";
  14. echo "<td>".$row['strona']."</td></tr>";
  15. }
  16. echo "</table>";
  17. ?>


Zrobiłem ci warunek i zmiany w sortowaniu, przypatrz sie dokładnie, jeżeli zmienna sort nie istnieje będzie ci sortowało za id
mainfreme
czarodziej.gif Wielkie dzieki za pomoc smile.gif
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.