Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pobranie z bazy danych
Forum PHP.pl > Forum > Przedszkole
rekamil97
Mam prostą kontrukcje pobierającą dane z bazy po id. W przypadku gdy id nie istnieje foreach nie zwraca wartości. Co zrobić żeby wtedy wpisało komunikat "pusta wartość"?

Próbowałem najróżniejszych dziwnych metod (np: liczeniu liter zwracanej wartości i gdy jest to 0 komunikat "puste" ale nie udało się bo funkcja nic nie zwraca).

  1. name = $db->prepare('SELECT name,opis FROM menu WHERE id=:id');
  2. $name->execute(array('id'=>$_GET['id']));
  3. foreach($name as $name) {
  4. echo($name['name']); // Zwraca rekord z bazy gdy id istnieje
  5. }


Rysh
  1. $name = $db->prepare('SELECT name,opis FROM menu WHERE id=:id');
  2. $name->execute(array('id'=>$_GET['id']));
  3. if($name->fetchColumn() > 0) {
  4. foreach($name as $dane) {
  5. echo($dane['name']); // Zwraca rekord z bazy gdy id istnieje
  6. }
  7. } else {
  8. echo 'brak danych';
  9. }
rekamil97
Niestety ale teraz cały czas zwraca mi wynik "brak danych" nawet gdy id jest prawidłowe
Rysh
Zobacz co zwraca:
$name->fetchColumn();
rekamil97
Kod:

  1. echo($name->fetchColumn());


Zwraca rekord z bazy danych dla podanego id
Rysh
Cytat(rekamil97 @ 19.11.2014, 23:08:06 ) *
Kod:

  1. echo($name->fetchColumn());


Zwraca rekord z bazy danych dla podanego id

Przepraszam, pomyliły mi się funkcję. Daj zamiast tego:

  1. if(count($name) > 0 ) {
  2. // ...
  3. }
rekamil97
Niestety kod:

  1. if(count($name) > 0) {
  2. foreach($name as $dane); {
  3.  
  4. echo('$dane['name']');
  5. }
  6. } else {
  7. echo('Brak');
  8. }


Bez danych (przy nieistniejącym id) też przechodzi warunek pozytywnie. Cały czas funkcja count($name) zwraca wartość 1
@rtur
  1. if($name->RowCount()!=0) { // liczy ile rekordów zwróci zapytanie, jeśli więcej jak 0 ...
  2. $wiersz = $name -> fetchAll();
  3. foreach($wiersz as $dane) {
  4. echo $dane['name'];
  5. }
  6. } else {
  7. echo 'brak danych'; // w przypadku braku rekordów dla zapytania
  8. }
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.