Kolejny raz zwracam się do was o prośbę, nie musi to być pomoc w stylu DAJCIE MI GOTOWCA, wystarczy naprowadzenie a sam poszukam rozwiązania. Ponieważ szukam już około 90 minut i ciągle bez efektów kieruję swoje pytanie do was.
Więc tak mam tabelę:
Kod
CREATE TABLE `PROFIL_aktywnosc`(
`id` INT(9) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`idUzytkownik` INT(9) NOT NULL,
`waga` ENUM('dodatnie', 'ujemne') NOT NULL,
`punkty` INT(9) NOT NULL,
`dataDodania` VARCHAR(35) NOT NULL,
`tytul` TEXT NOT NULL,
`tresc` TEXT NOT NULL,
`typ` ENUM('pytanie', 'odpowiedz', 'spolecznosc') NOT NULL
)ENGINE = MYISAM;
`id` INT(9) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`idUzytkownik` INT(9) NOT NULL,
`waga` ENUM('dodatnie', 'ujemne') NOT NULL,
`punkty` INT(9) NOT NULL,
`dataDodania` VARCHAR(35) NOT NULL,
`tytul` TEXT NOT NULL,
`tresc` TEXT NOT NULL,
`typ` ENUM('pytanie', 'odpowiedz', 'spolecznosc') NOT NULL
)ENGINE = MYISAM;
W której zapisuję aktywność użytkowników i wyświetlam wszystkie dane na profilu.
Zrobiłem jednak w jQuery zakładki, które dzielą wyniki na typ='pytanie' , typ='odpowiedz', typ='spolecznosc' oraz cała aktywność (połączenie wszystkich typów i wyświetlanie według daty dodania).
Wyniki wyświetlam w taki sposób:
Kod
/** AKTYWNOŚĆ WSZYSTKO **/
echo '<div id="aktywnosc-wszystko"> ';
$wyciag=mysql_query("SELECT * FROM PROFIL_aktywnosc WHERE idUzytkownik='$id' LIMIT $ilosc");
while($wyswietl=mysql_fetch_array($wyciag)) {
if($wyswietl['waga'] == 'dodatnie') { $ilosc = '+ '.$wyswietl['punkty'].'';} else { $ilosc = '- '.$wyswietl['punkty'].'';}
$data=$wyswietl['dataDodania'];
$data=strtotime($data);
$time=getDiff($data);
echo '<div class="aktywnosc">
<strong class="'.$wyswietl['waga'].'">'.$ilosc.' €P</strong>
<div class="szczegoly">
'.$wyswietl['tytul'].'
<span class="right">'.$time.'</span>
'.$wyswietl['tresc'].'
</div>
</div>';
}
echo '</div>';
/** KONIEC AKTYWNOŚCI WSZYSTKO **/
echo '<div id="aktywnosc-wszystko"> ';
$wyciag=mysql_query("SELECT * FROM PROFIL_aktywnosc WHERE idUzytkownik='$id' LIMIT $ilosc");
while($wyswietl=mysql_fetch_array($wyciag)) {
if($wyswietl['waga'] == 'dodatnie') { $ilosc = '+ '.$wyswietl['punkty'].'';} else { $ilosc = '- '.$wyswietl['punkty'].'';}
$data=$wyswietl['dataDodania'];
$data=strtotime($data);
$time=getDiff($data);
echo '<div class="aktywnosc">
<strong class="'.$wyswietl['waga'].'">'.$ilosc.' €P</strong>
<div class="szczegoly">
'.$wyswietl['tytul'].'
<span class="right">'.$time.'</span>
'.$wyswietl['tresc'].'
</div>
</div>';
}
echo '</div>';
/** KONIEC AKTYWNOŚCI WSZYSTKO **/
Wszystko działa pięknie i ładnie, jednak kiedy dodaję sobie aby moja funkcja wyświetlała mi wyniki do zakładki którą stworzyłem (w tej zakładce mają wyświetlać się wyniki o typ='pytanie'
I dodaję kod:
Kod
/** AKTYWNOŚĆ PYTANIA **/
echo '<div id="aktywnosc-pytania"> ';
$wyciag3=mysql_query("SELECT * FROM PROFIL_aktywnosc WHERE idUzytkownik='$id' AND typ='pytanie' LIMIT $ilosc");
while($wyswietl3=mysql_fetch_array($wyciag3)) {
if($wyswietl3['waga'] == 'dodatnie') { $ilosc = '+ '.$wyswietl3['punkty'].'';} else { $ilosc = '- '.$wyswietl3['punkty'].'';}
$data=$wyswietl3['dataDodania'];
$data=strtotime($data);
$time=getDiff($data);
echo '<div class="aktywnosc">
<strong class="'.$wyswietl3['waga'].'">'.$ilosc.' €P</strong>
<div class="szczegoly">
'.$wyswietl3['tytul'].'
<span class="right">'.$time.'</span>
'.$wyswietl3['tresc'].'
</div>
</div>';
}
echo '</div>';
/** KONIEC AKTYWNOŚCI PYTANIA **/
echo '<div id="aktywnosc-pytania"> ';
$wyciag3=mysql_query("SELECT * FROM PROFIL_aktywnosc WHERE idUzytkownik='$id' AND typ='pytanie' LIMIT $ilosc");
while($wyswietl3=mysql_fetch_array($wyciag3)) {
if($wyswietl3['waga'] == 'dodatnie') { $ilosc = '+ '.$wyswietl3['punkty'].'';} else { $ilosc = '- '.$wyswietl3['punkty'].'';}
$data=$wyswietl3['dataDodania'];
$data=strtotime($data);
$time=getDiff($data);
echo '<div class="aktywnosc">
<strong class="'.$wyswietl3['waga'].'">'.$ilosc.' €P</strong>
<div class="szczegoly">
'.$wyswietl3['tytul'].'
<span class="right">'.$time.'</span>
'.$wyswietl3['tresc'].'
</div>
</div>';
}
echo '</div>';
/** KONIEC AKTYWNOŚCI PYTANIA **/
Jak widać podmieniłem $wyciag na $wyciag3 tak aby nie pobierało tego samego $wyswietl na $wyswietl3 aby wyświetlało nowe wyniki.
Zapytanie skonstruowane jest poprawnie.
Ale błąd polega moim zdaniem na tym że tworzę zapytanie(kopię) tego co wcześniej tylko dopisałem aby wyświetlało dane o określonym TYPIE.
W ten sposób otrzymuję błąd:
Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ble/ble/ble/funkcje/profil.php on line 70
Gdzie w linii 70 znajduje się
Kod
while($wyswietl3=mysql_fetch_array($wyciag3)) {
Czy ktoś mógłby mi pomóc? Jeżeli błędem jest to że próbuję kilkukrotnie wyświetlać wyniki. To czy macie tylko radę w jaki sposób rozwiązać wyświetlanie wyników z jednego zapytania, ale z podziałem na 4 typy.
Główkuję i nic z tego nie wychodzi bo po prostu nigdy czegoś takiego nie robiłem i sobie troszkę prace utrudniłem, a teraz muszę to wykonać.
Jeżeli opisałem swój problem nie jasno, napisz czego nie rozumiesz postaram się wytłumaczyć

Świeżak.