Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Zapytanie dwóznaczne
Forum PHP.pl > Forum > Przedszkole
MaciekDZN
  1. <?
  2. $wybierzkat11=mysql_query("SELECT * FROM t_wiadomosci where
  3. (`do`='$_SESSION[login]' and napisal='$logiin22[id]') or
  4. (`do`='$logiin22[login]' and napisal='$_SESSION[id_user]') order by id desc");
  5.  
  6. while($kat1 = mysql_fetch_array($wybierzkat11)){
  7. echo "$kat1[napisal]: $kat1[data]: $kat1[wiadomosc]<br />";
  8. }
  9. ?>

co z tym jest nie tak?
nie wyswietla mi nic...
Kshyhoo
Przenoszę.
Tomplus
Po pierwsze.. popraw tytuł. Słowo dwa po odmianie ma U otwarte a nie zamknięte.

A co do problemu technicznego, to polecam zobaczyć jak wygląda to zapytanie gdy wyświetlisz po za mysql_query:

  1. echo "SELECT * FROM t_wiadomosci where
  2. (`do`='$_SESSION[login]' and napisal='$logiin22[id]') or
  3. (`do`='$logiin22[login]' and napisal='$_SESSION[id_user]') order by id desc";


Prawdopodobnie żaden z tych warunków w WHERE nie został spełniony.
Niree
  1. $wybierzkat11=mysql_query("SELECT * FROM t_wiadomosci where
  2. (`do`='{$_SESSION['login']}' and napisal='{$logiin22['id']}') or
  3. (`do`='{$logiin22['login']}' and napisal='{$_SESSION['id_user']}') order by id desc");
  4.  
  5. while($kat1 = mysql_fetch_array($wybierzkat11)){
  6. echo ''$kat1['napisal'].': '.$kat1['data'].': '.$kat1['wiadomosc'].'<br />';
  7. }


Może w ten sposób. Jeśli nie, to włącz sobie wyświetlanie display_error, może masz błąd w zapytaniu. Nie znam struktury Twojej bazy ani danych, które trzymasz w zmiennych.
//edytowałem lekko kod. Dlaczego nie stawiasz '' przy zmiennych? np. powinno być $kat1['wiadomosc']
MaciekDZN
zapytanie sprawdzane w phpmyadmin i jest poprawne
nospor
Cytat
Dlaczego nie stawiasz '' przy zmiennych? np. powinno być $kat1['wiadomo
Polecam lekture manual->types->strings Tam masz wyjanione takie podstawy.

@MaciekDZN czy wyswietliles jak wyglada zapytanie wygenerowane przez php? Tomplus pokazal ci jak to zrobic.
MaciekDZN
nie jestem laikiem i wiem jak mogę pisać a jak nie... po prostu kod który się skróci do postaci:
  1. <?
  2. $wybierzkat11=mysql_query("SELECT * FROM t_wiadomosci where `do`='$_SESSION[login]' and napisal='$logiin22[id]' order by id desc");
  3. ?>

działa chociaż dłuższa wersja tez spełnia wymagania do wyświetlania
- baza jest prowizoryczna i wpisy są takie jakie powinny się wyświetlić.
nospor
To ze nie jestes laikiem nie zmienia faktu, ze nie potrafisz zrobic glupiego ECHO o ktore proszono cie juz dwa razy a teraz jest trzeci...
viking
Panie nie laik. Włącz teraz error_reporting na maks i zobacz co na nie laikowe propozycje takiego zapisu mówi PHP.
MaciekDZN
już działa, jednak mój kod jest poprawny, błąd znalazł się wcześniej - pobieranie danych wcześniejszych smile.gif dzięki za pomoc i pozdrawiam, ps. post pisałem jak już nie myślałem w ogóle i stąd błąd w Ó-U i taki banalny do rozwiązania po zobaczeniu na trzeźwo wink.gif

===
Tomplus
To dlaczego nie poprawisz błędu jak zauważyłeś?

Stopkę się dodaje w innym miejscu tongue.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.