Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] wyświetlanie danych o określonej dacie
Hazik
post
Post #1





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

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


Witam,


Mam zaimplementowany skrypt pobierający datę z formularza. Datę w formacie YYYY-MM-DD wrzucam do zmiennej $data. Chciałbym, żeby z bazy wyświetlały mi się tylko wiersze, w których pole data jest równe mojej zmiennej.

  1.  
  2. $wynik = mysql_query("SELECT * FROM `tabela`ORDER BY `tabela`.`godzina` DESC WHERE `tabela`.`data` == $data'")
  3. or die('Coś poszło nie tak');
  4.  
  5.  


Program nie wyrzuca żadnego błędu, a ja nie mam pojęcia co robię źle. Proszę pomóżcie

Ten post edytował Hazik 11.05.2017, 16:22:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Twoj kod to jeden wielki blad wiec nie mozliwe ze nie jest rzucany komunikat z tego kodu
or die('Coś poszło nie tak');
Sprawdz dokladniej smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


Przeczytaj: Temat: Jak poprawnie zadac pytanie oraz przygotowac srodowisko pracy
Pokaż błędy i całość kodu a nie tylko fragment.


--------------------
Go to the top of the page
+Quote Post
Hazik
post
Post #4





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

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


Błędów brak.


Notice: Undefined index: nasza_nazwa in C:


  1. <form method="post">
  2. <script>DateInput('nasza_nazwa', true, 'YYYY/MON/DD')</script>
  3. <input type="submit" />
  4. </form>
  5.  


  1. <?php
  2.  
  3.  
  4. $data = $_POST['nasza_nazwa'];
  5.  
  6.  
  7.  
  8. echo $data;
  9.  
  10. $connection = @mysql_connect('localhost', 'login', 'haslo')
  11. or die('Brak połączenia z serwerem MySQL');
  12. $db = @mysql_select_db('baza', $connection)
  13. or die('Nie mogę połączyć się z bazą danych');
  14.  
  15.  
  16. $wynik = mysql_query("SELECT * FROM 'tabela' ORDER BY `tabela`.`godzina` DESC WHERE `tabela`.`data` = $data")
  17. or die('Coś poszło nie tak');
  18.  
  19.  
  20. if(mysql_num_rows($wynik) > 0) {
  21.  
  22.  
  23. echo "<table cellpadding=\"5\" border=1>";
  24. echo "<tr>";
  25. echo "<td>Lp:</td>";
  26. echo "<td>Klient:</td>";
  27. echo "<td>Data:</td>";
  28. echo "<td>Godzina:</td>";
  29.  
  30.  
  31.  
  32. echo "</tr>";
  33. echo "<tr>";echo "</tr>";echo "<tr>";echo "</tr>";echo "<tr>";echo "</tr>";echo "<tr>";echo "</tr>";
  34. while($r = mysql_fetch_array($wynik)) {
  35. echo "<tr>";
  36. echo "<td>".$r['id']."</td>";
  37. echo "<td>".$r['klient']."</td>";
  38. echo "<td>".$r['data']."</td>";
  39. echo "<td>".$r['godzina']."</td>";
  40.  
  41.  
  42.  
  43. echo "</tr>";echo "<tr>";echo"</tr>";
  44.  
  45. echo "<tr>";echo "</tr>";
  46. }
  47. echo "</table>";
  48. }
  49.  
  50.  
  51. ?>
  52.  


Ten post edytował Hazik 11.05.2017, 16:46:56
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Jesli nie widzisz
"Coś poszło nie tak"

znaczy ze on w ogole tego kodu nie wykonuje, gdyz ten kod powinien zwrocic taki wlasnie blad. Pewnie wyklada sie gdzies wczesniej

Daj dla pewnosci

  1.  
  2. echo 'Widzisz mnie?';
  3. $wynik = mysql_query("SELECT * FROM 'tabela' ORDER BY `tabela`.`godzina` DESC WHERE `tabela`.`data` = $data")
  4. or die('Coś poszło nie tak');
  5.  
  6. echo 'A mnie?';


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
markuz
post
Post #6





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


Usuń wszystkie @ z kodu, jeszcze raz przeczytaj Temat: Jak poprawnie zadac pytanie oraz przygotowac srodowisko pracy i zastosuj tą wiedzę. Głównie chodzi o fragment:
Kod
    error_reporting(E_ALL);
    ini_set('display_errors','1');


Ten post edytował markuz 11.05.2017, 16:52:06


--------------------
Go to the top of the page
+Quote Post
Hazik
post
Post #7





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

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


Zwraca: "Coś poszło nie tak". w każdej innej konfiguracji działa. Chodzi mi o same porównanie daty. To o czym piszesz mam na samym początku kodu, długo przed tym wyświetlaniem.

  1. <?php session_start();
  2. require_once('db.php');
  3. error_reporting(E_ALL);
  4. ini_set('display_errors','1');
  5. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
w każdej innej konfiguracji działa
Nie, w kazdej innej konfiguracji tez ci nie dziala.

dobrze,a teraz zamiast

or die('Coś poszło nie tak');

wstaw
or die(mysql_error());

a zobaczysz blad jaki zwraca ci baza danych


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Hazik
post
Post #9





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

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


  1. $wynik = mysql_query("SELECT * FROM tabela ORDER BY `tabela`.`godzina` DESC WHERE `tabela`.`data` = $data")


You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE `tabela`.`data` =' at line 1
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dobrze, teraz zajrzyj do manuala mysql i zobacz jaka jest kolejnosc ORDER BY oraz WHERE w zapytaniach typu SELECT


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Hazik
post
Post #11





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

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


Mistrzu uwielbiam Cięsmile.gif

  1. $wynik = mysql_query("SELECT * FROM tabela WHERE `tabela`.`data` = '".$data."' ORDER BY `tabela`.`godzina` ASC")
  2.  
  3.  

Go to the top of the page
+Quote Post
viking
post
Post #12





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Teraz jeszcze poczytaj czym jest sql injection oraz dlaczego nie powinieneś używać rozszerzenia mysql.


--------------------
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: 21.08.2025 - 02:59