Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]warunek if sprawdzający dane w bazie
Forum PHP.pl > Forum > Przedszkole
Kamil90
niestety napotkałem się na kolejny problem... :/
Mam warunek IF który sprawdza czy w tablicach które znajdują się w pliku php znajduje się wybrana w formularzu kategoria(jej id), kod wygląda tak:
  1. <?php
  2. $trzytablice = array_merge($tele, $filmiki, $gryonline);
  3.  if (!in_array($_POST['category'], array_keys($trzytablice)))
  4.  {
  5.    $error['category'] = 'Taka kategoria nie istnieje.';
  6.  }
  7. ?>

ten warunek muszę oprzeć na bazie i ma sprawdzać czy w tabeli "tele" znajduje się w polu "ID" wartość z formularza "$_POST['category']", jeżeli się nie znajduje wyskakuje napis "Taka kategoria nie istnieje.".
Jestem początkujący w php i nie wiem jak mam przerobić ten kod... sad.gif dlatego proszę Was o pomoc

edit:wymyśliłem coś takiego:
  1. <?php
  2. $sql = 'SELECT * FROM tele';
  3. $trzytablice = mysql_query($sql);
  4.  
  5.  if (!in_array($_POST['category'], array_keys($trzytablice)))
  6.  {
  7.    $error['category'] = 'Taka kategoria nie istnieje.';
  8.  }
  9. ?>

czy dobrze? smile.gif
legorek
Nie dobrze. To co napisałeś jest kompletnie bez sensu. Ale jako że przynajmniej próbowałeś coś zrobić (w przeciwieństwie do większości użytkowników tego forum) to Ci pomogę:

Zakładam, że $_POST['category'] jest liczba.

  1. <?php
  2. $sql = 'SELECT COUNT(*) AS ilosc FROM tele WHERE `ID`='.(int) $_POST['category'];
  3. $response = mysql_fetch_assoc(mysql_query($sql));
  4. if ($response['ilosc']==0) {
  5. $error['category'] = 'Taka kategoria nie istnieje.';
  6. } else {
  7. //Istnieje
  8. }
  9. ?>
koreja
  1. <?php
  2. $sql = 'SELECT * FROM id="'.$_POST['category'].'"';
  3. $results = mysql_query($sql) or die(mysql_error());
  4. if($results == 0){
  5. echo "Kategoria nie istnieje";
  6. } else {
  7. echo "Kategoria istnieje";
  8. }
  9. ?>
Kamil90
Cytat(koreja @ 23.01.2009, 22:43:47 ) *
  1. <?php
  2. $sql = 'SELECT * FROM id=\"'.$_POST['category'].'\"';
  3. $results = mysql_query($sql) or die(mysql_error());
  4. if($results == 0){
  5. echo &#092;"Kategoria nie istnieje\";
  6. } else {
  7. echo &#092;"Kategoria istnieje\";
  8. }
  9. ?>


a ja chciałbym zrobić ze jeżeli kategoria istanieje to żeby było tak jakby tego kodu nie było... Czyli wystarczy że usunę tą linijkę:
  1. <?php
  2. else {
  3. echo &#092;"Kategoria istnieje\";
  4. }
  5. ?>


questionmark.gif?

podobnie jak zrobie z kodem legorek'a to też będzie dobrze? smile.gif
legorek
Może po prostu sprawdź? Zapewniam, że komputer nie wybuchnie. A tak w ogóle to odsyłam do kursów dla początkujących. Programowanie to nie jest jazda na rowerze, że można się nauczyć metodą prób i błędów wsiadając na rower.
Kamil90
działa smile.gif Dzięki legorek i koreja smile.gif oczywiście po + dla Was.

ps legorek a masz może jakiś kurs do polecenia?
legorek
Google: "kurs php".

A kod kolegi koreja jest nieprawidłowy. Sprawdź, zawsze będzie zwracał kategoria istnieje.
Kamil90
moim zdaniem kod koreja nie uznaje nazwy tabeli "tele" i w tym juz jest błąd, ale też się starał i próbował. Co do kursu myślałem że zapodasz mi jakiś Twój przetestowany, który czytałeś smile.gif i sie z niego nauczyłeś smile.gif
koreja
Faktycznie, zauważyłem błąd u siebie w kodzie smile.gif Pisałem go na szybko i zapomniałem dodać tabeli biggrin.gif
  1. <?php
  2. $sql = 'SELECT * FROM tele WHERE id="'.$_POST['category'].'"';
  3. $results = mysql_query($sql) or die(mysql_error());
  4. if($results == 0){
  5. echo "Kategoria nie istnieje";
  6. } else {
  7. echo "Kategoria istnieje";
  8. }
  9. ?>
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.