Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: If W Zapytaniu Sql
Forum PHP.pl > Forum > PHP
sajborg
Siemka mam takie zapytanie

  1. $sql="INSERT INTO homp_download (
  2. down_id,
  3. down_add,
  4. down_wersja,
  5. down_www,
  6. down_lang,
  7. down_title,
  8. down_opis,
  9. down_adres,
  10. down_kat,
  11. down_data,
  12. down_sciagniecia,
  13. down_size,
  14. down_autor) VALUES (
  15. 'NULL','".$userdata['username']."',
  16. '".addslashes($HTTP_POST_VARS['version'])."',
  17. '".addslashes($HTTP_POST_VARS['www'])."',
  18. '".addslashes($HTTP_POST_VARS['lang'])."',
  19. '".addslashes($HTTP_POST_VARS['name'])."',
  20. '".addslashes($HTTP_POST_VARS['opis'])."',
  21. '".$HTTP_POST_FILES['plik']['name']."',
  22. '".addslashes($HTTP_POST_VARS['kat'])."',
  23. '".date("d-m-y G:i:s")."',
  24. '0',
  25. '".$HTTP_POST_FILES['plik']['size']."',
  26. '".addslashes($HTTP_POST_VARS['autor'])."'
  27. )";


I mam pytanie czy moge jakos dac ifka w tym ze jesli w bazie istnieje juz w polu down_title tresc z $HTTP_POST_VARS['name'] to wyswietlilo echo i zatrzymało zapytanie albo tak jak WHERE zadziałało mozna to zrobic petlą dodajac wszystkie title to tablicy i potem sprawdzac ale ja chcem to w zapytaniu jakos zrobic mianowicie WHERE
invx
w zapytaniu, hyba niebardzo, ale w kodzie php, mozna to zrobic,
sajborg
Cytat
I mam pytanie czy moge jakos dac ifka w tym ze jesli w bazie istnieje juz w polu down_title tresc z $HTTP_POST_VARS['name'] to wyswietlilo echo i zatrzymało zapytanie albo tak jak WHERE zadziałało mozna to zrobic petlą dodajac wszystkie title to tablicy i potem sprawdzac ale ja chcem to w zapytaniu jakos zrobic mianowicie WHERE


Przeczytaj dokładnie a szczegolnie

mozna to zrobic petlą dodajac wszystkie title to tablicy i potem sprawdzac ale ja chcem to w zapytaniu jakos zrobic mianowicie WHERE
Yarecki
Z poziomu bazy danych możesz ustawić pole na UNIQE. Jeśli będziesz dodawał wpis, w którym wartość pola ustawionego jest na UNIQE a podana wartość będzie już wcześniej w bazie to bd uniemożliwi zapis nowego wpisu.
Synaps
W INSERCIE za dużo nie zrobisz w tej kwesti. Żeby rozwiązać ten problem ja bym proponował jedną z dwóch dróg :

1) dla pola down_title ustawić flage Unique i obsłużyć potencjalny błąd/ ostrzeżenie przy wykonywaniu INSERT'a

2) przed INSERTEM sprawdzić
  1. SELECT count() AS ile FROM homp_download WHERE down_title = '$HTTP_POST_VARS['name']'

i w zależności od wyniku dodać lub wyświetlić komunikat dla użytkownika.

Inne rozwiąznie nie przychodzi mi do głowy , może ktoś z forumowiczy na coś wpadnie cool.gif
sajborg
zrobilem tak

  1. <?php
  2. $sql=&#092;"SELECT count(*) FROM homp_download WHERE down_title='\".$HTTP_POST_VARS['name'].\"'\";
  3.  $result=$db->sql_query($sql);
  4.  list($jest)=$db->sql_fetchrow($result);
  5.  if ($jest==0){.......
  6. ?>


Działa thx
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.