Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Edytowanie rekordów z "while..."
Forum PHP.pl > Forum > Przedszkole
xXxGrandxXx
Witam mam problem z kodem który edytuje rekord ale jest to wyświetlane przez "while" i samo wyciaga z bazy danej rekordy ale chodzi mi teraz o edycje tego rekordu który wyświetla , możliwe że jest jakiś błąd a ja go przeoczyłem , prosił bym o pomoc

Kod
if ($_POST['wyslane']) { // jeżeli formularz został wysłany, to wykonuje się poniższy skrypt
if (empty($_POST['wpisane'])){
echo "<span class='blad'>Nie wpisano wiadomosci</span><br>";
$blad2++;
}
if($blad2 == 0){
$wiadomosc2 = $_POST['odpowiedz'];
$wynik = mysql_query("UPDATE wiadomosci SET wiadomosc2='$wiadomosc2', status='1' WHERE identyfikator='$identyfikator'");
echo 'wyslano';
}
}


while($row2 = mysql_fetch_array($ostatnio)){

$wynik = mysql_query("SELECT * FROM wiadomosci WHERE login='".$_SESSION['login']."' and status='0' and identyfikator='$identyfikator'");
if (mysql_num_rows($wynik) == 0){

..... tutaj idzie już tylko wyświetlanie formularza do edycji


Jestem pewien że coś z tym kodem jest coś zle , dodam jeszcze że

Kod
if (mysql_num_rows($wynik) == 0){

ma wyświetlać tylko rekordy które zawierają w tabeli status numer 0 a ta edycja ma zmieniać to na numer 1
proszę o odpowiedz



niby pokazuje sie że wyslano ale tak naprawde nic sie nie zmienia w mysql
b4rt3kk
Zrób tak:

  1. echo $query = "UPDATE wiadomosci SET wiadomosc2='$wiadomosc2', status='1' WHERE identyfikator='$identyfikator'"
  2. $wynik = mysql_query($query) or die(mysql_error());


i zobacz czy zapytanie wygląda rzeczywiście tak jak ma wyglądać.
xXxGrandxXx
Cytat(b4rt3kk @ 28.11.2012, 23:14:30 ) *
Zrób tak:

  1. echo $query = "UPDATE wiadomosci SET wiadomosc2='$wiadomosc2', status='1' WHERE identyfikator='$identyfikator'"
  2. $wynik = mysql_query($query) or die(mysql_error());


i zobacz czy zapytanie wygląda rzeczywiście tak jak ma wyglądać.



zrobiłem tak
Kod

        if($blad2 == 0){
        $wiadomosc2= $_POST['wiad'];
        $identyfikator= $_POST['numer'];
        echo $query = "UPDATE wiadomosci  SET wiadomosc2='$wiadomosc2', status='1' WHERE identyfikator='$identyfikator'";
        $wynik = mysql_query($query) or die(mysql_error());        
        echo 'wyslano';

Zrobiłem tak jak napisałeś i nie wyświetla sie wiadomość że "wyslano" tylko

UPDATE wiadomosci SET wiadomosc2='$wiadomosc2', status='1' WHERE identyfikator='$identyfikator'wyslano

heh biggrin.gif widocznie zapytanie jest ok


ok juz problem rozwiazany smile.gif
Dziękuje : )
abort
Nie, to zapytanie nie jest dobre. Ale nie podam wprost rozwiązania (daję wędkę, a nie rybę), podpowiem tylko...

To zapytanie wyszuka te wiersze, w których pole zawiera łańcuch znaków zaczynający się od dolara i następującym po nim ciągu znaków "identyfikator" i dla wszystkich znalezionych wierszy ZAMIENI wartości pola 'wiadomość' na łańcuch znaków zaczynający się od znaku dolara i doklejonym do niego ciągu znaków "wiadomosc2".

Zwróć uwagę na wyróżnione fragmenty... smile.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.