Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 3.917 pregleda

Najnovija ↓

Problem kod brisanja korisnika iz baze 18.01.2006. u 21:09 · pre 253 meseca #1
Imam problema kod brisanja korisnika iz baze. Kod je sljedeći
Code:
 <?php
// spajanje na bazu
include ("config_baza.php");

// ispis korisnika iz baze
echo ("<b>Popis korisnika:</b><br>");
$ispis_korisnika = "SELECT * FROM korisnici";
    if($upit_ispis_korisnika = mysql_query($ispis_korisnika, $link)) { //provjerava bazu
        while ($red = mysql_fetch_array ($upit_ispis_korisnika)) { //pocinje ispis
            echo ("<br> ID: " . $red["id"]);
            echo ("<br><b> Ime: " . $red["ime"] . "</b>");
            echo ("<br> E-mail: " . $red["email"]);
            echo ("<br> Ime i prezime: " . $red["ime_i_prezime"] . "<br>");
            $id = $red["id"]; //sprema id u zasebnu varijablu, radi kasnijeg brisanja
            ?>
            <form method="get" action="<?php echo $_SERVER['PHP_SELF'] ?>">
            <input name="obrisi_korisnika" type="submit" value="obrisi">
            </form>
            <?php
            // brisanje iz baze, ako je korisnik kliknuo obriši
            if (isset($_GET['obrisi_korisnika'])) {
                $brisanje_korisnika = "DELETE FROM korisnici WHERE id=$id";
                mysql_query($brisanje_korisnika) or die ('Greška prilikom brisanja korisnika iz baze');
            }
        }
    } else {
        echo ("Greška prilikom citanja podataka iz baze" . mysql_error()); //javlja grešku ako nije uspostavljena veza s bazom
    }
?> 


problem je u tome što kada kliknem na gumb obriši ispod nekog korisnika obriše mi se cijela baza, a ne samo korisnik kojeg sam odabrao.

Samo brisanje pokušao sam riješit tako da se, kao što se vidi u kodu, ispod svakog korisnika koji se očitava iz baze iscrta forma sa gumbom za brisanje. klikom na gumb traži se da se obriše red u tablici gdje je id jednak onom kod kojeg se korisnika klikne na obriši (to sam riješio sa ugnježđenom petljom if ispod ispisa korisnika iz baze)
Re: Problem kod brisanja korisnika iz baze 18.01.2006. u 22:11 · pre 253 meseca #2
Pod pretpostavkom da klikom na dugme zelis da obrises samo jednog korisnika, onda nema potrebe da onu if naredbu drzis unutar while petlje, vec negde na pocetku fajla, posle povezivanja na bazu.

Takodje, pri ispisivanju liste korisnika, ti trenutno svaki put upisujes novu vrednost u promenljivu id, i njom nista bitno zapravo ne pamtis. Ali, posto ti je brisanje u while petlji, tokom celog izvrsavanja petlje je i ispunjen uslov za brisanje, i to upravo svakog novog id-a.

Dakle, promenljivu id treba da zabelezis u samoj html formi po sistemu:
Code:
<input type="hidden" name="id" value="xyz">

Na mesto xyz dodje vrednost trenutnog id-a. I onda u kodu za brisanje ne pises samo $id, vec $_GET['id']

Vici ako ti i dalje nije jasno.:)
Potpis
Pera električar 0637129710, BG, preporučujem.
Re: Problem kod brisanja korisnika iz baze 18.01.2006. u 22:47 · pre 253 meseca #3
Code:
 <?php
// spajanje na bazu
include ("config_baza.php");

// brisanje iz baze, ako je korisnik kliknuo brisanje korisnika
if (isset($_GET['obrisi_korisnika'])) {
  $brisanje_korisnika = "DELETE FROM korisnici WHERE id='{$_GET['id']}'";
  mysql_query($brisanje_korisnika) or die ('Greška prilikom brisanja korisnika iz baze');
}

// ispis korisnika iz baze
echo ("<b>Popis korisnika:</b><br>");
$ispis_korisnika = "SELECT * FROM korisnici";

if($upit_ispis_korisnika = mysql_query($ispis_korisnika, $link)) { //provjerava bazu
  while ($red = mysql_fetch_array ($upit_ispis_korisnika)) { //pocinje ispis
    echo ("<br> ID: " . $red["id"]);
    echo ("<br><b> Ime: " . $red["ime"] . "</b>");
    echo ("<br> E-mail: " . $red["email"]);
    echo ("<br> Ime i prezime: " . $red["ime_i_prezime"] . "<br>");
    echo ("<br><a href=\"{$_SERVER['PHP_SELF']}?obrisi_korisnika=obrisi&id={$red['id']}"
style="color: red; font-weight: bold;\">brisanje korisnika</a><hr>");
  }
} else {
  echo ("Greška prilikom citanja podataka iz baze" . mysql_error());
//javlja grešku ako nije uspostavljena veza s bazom
}
?>
Potpis
BoxUp
interesantna logička igra
Monty Hall paradoks - interaktivni demo
Re: Problem kod brisanja korisnika iz baze 21.01.2006. u 14:48 · pre 253 meseca #4
ok, riješio sam brisanje. sada imam pitanje u vezi uređivanja profila korisnika.
u stranicu gdje se listaju korisnici (korisnici.php) dodao sam slijedeći kod:
Code:

echo ("<a href=\"uredi_korisnika.php?uredi_korisnika=uredi&id={$red['id']}\">uređivanje profila korisnika</a><hr>");

ako se klikne na uređivanje profila otvara se stranica uredi_korisnika.php; tu me sada zanima kako pamtiti id korisnika sa stranice korisnici.php, da bih mogao pozvati podatke u formu gdje se uređuje profil korisnika. jedino rješenje koje mi pada na pamet je da pomoću sessiona pamtim id korisnika i onda pozivam iz baze red gdje je id jednak onom u sessionu.
je li ovaj način ispravan ili imate kakav drugi prijedlog?
Hvala
Re: Problem kod brisanja korisnika iz baze 21.01.2006. u 16:17 · pre 253 meseca #6
da, samo nije mi problem upamiti id korisnika na stranici korisnici.php gdje je odabrano uređivanje profila, već mi je problem varijablu sa id-jem prenijet u stranicu uredi_korisnika.php
kako (ako) se to može sa $_GET?
Re: Problem kod brisanja korisnika iz baze 21.01.2006. u 17:46 · pre 253 meseca #7
Cini mi se da ti gadno ne razumes kako funkcionise prosledjivanje
promenljivih GET ili POST metodom. Mislim da bi pre nego sto predjes na
bilo koji ozbiljniji projekat trebalo prvo tim, i slicnim stvarima da se
pozabavis.

Isecak koda sa stranice korisnici.php ti je vec postavio id i njegovu
vrednost, za prosledjivanje GET metodom. Sve sto treba da ucinis na ovoj
drugoj stranici je da procitas sadrzaj promenljive
Code:
$_GET['id']
.
Potpis
Pera električar 0637129710, BG, preporučujem.
Re: Problem kod brisanja korisnika iz baze 21.01.2006. u 22:48 · pre 253 meseca #8
da, u pravu si. mada mi je sada postalo puno jasnije što znači ?, & i slične stvari u adresama stranica. morat ću se pozabavit s time, jer tek sada vidim velike mogućnosti get i post metoda. u biti nisam znao da funkcioniraju i na takav način, mislio sam samo da ih se koristi u formama, jer ni u jednom tutorialu ništa sličnog nije bilo.
hvala ti, otvorio si mi oči :) barem malo
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme