[ SELECTME @ 20.05.2007. 23:07 ] @

PRIKAZ PADAJUCEG MENIJA LICA IZ TABELE U BAZI
DOBIO SAM NA OVAJ NACIN :


//ubacuje ime i prezime lica iz baze u PADAJUCI MENI !!!
-------------------------------------------------
-------------------------------------------------
$result=mysql_query("SELECT ime, prezime FROM lica ORDER BY ime, prezime");
$numrows=mysql_num_rows($result);
if ($numrows>0) {
echo "<select name=\"liceID\">";
for ($i=0; $i<$numrows; $i++) {
$row=mysql_fetch_array($result);
echo "<option value=\"{$row['ID']}\">{$row['ime']} {$row['prezime']}</option>";
}
echo "</select>";
} else {
echo "Nema registrovanih lica!";
}

//uradjen padajuci meni
-------------------------------------------------
Pitanje:
Kako da izabravsi odredjeno lice IZ OVOG MENIJA, pomocu submit forme izvrsim njegovo
brisanje iz tabele u bazi ?

(hteo sam da se sve desi u okviru iste php strane)

Svasta sam pokusavao, ali sam ocigledno bas pocetnik.
Imajte razumevanja.

HVALA




[ Nebojsa_S @ 21.05.2007. 07:50 ] @
U SELECT naredbi ti nedostaje ID , jer ga posle koristis u <option> tagu kao $row['ID"].
Pokusaj ovo kao najprostiju varijantu:

if(isset($_POST['submit']))
{
$id=$_POST['liceID'];
mysql_query("DELETE * FROM `lica` where id=$id") or die(mysql_error());
echo "Podatak obrisan iz baze!";
}
$result=mysql_query("SELECT id, ime, prezime FROM lica ORDER BY ime, prezime");
$numrows=mysql_num_rows($result);
echo "<form name='forma1' action=$_SERVER['PHP_SELF'] method='post'>";
if ($numrows>0) {
echo "<select name=\"liceID\">";
for ($i=0; $i<$numrows; $i++) {
$row=mysql_fetch_array($result);
echo "<option value=\"{$row['ID']}\">{$row['ime']} {$row['prezime']}</option>";
}
echo "</select>";
echo "<input type='submit' name='submit' value='Obrisi'>";
echo "</form>";
} else {
echo "Nema registrovanih lica!";
}
[ SELECTME @ 21.05.2007. 20:31 ] @
Prijavljuje mi bag od ove linije:

echo "<form name='forma1' action=$_SERVER['PHP_SELF'] method='post'>";

I TO:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'

---------------------------------------------------------------------------------

...a na server se konektujem ovako:

<?php
@ require ($_SERVER["DOCUMENT_ROOT"]. "/pro_universal/config/db_config.php");
$link=@mysql_connect($db_host, $db_user, $db_password) or die ("error connecting");


$db=@mysql_select_db('universal', $link) or die("TRENUTNO NIJE MOGUCE USPOSTAVITI VEZU SA BAZOM.");



...i jos nesto:
id mi je u tabeli INDEX, a maticnibroj UNIQUE !




[Ovu poruku je menjao SELECTME dana 21.05.2007. u 22:05 GMT+1]
[ beep @ 21.05.2007. 22:01 ] @
npr

echo "<form name='forma1' action='".$_SERVER['PHP_SELF']."' method='post'>";
[ SELECTME @ 21.05.2007. 23:49 ] @
Nema baga, ali prijavljuje ovo:


You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELITE *FROM `lica` WHERE idlica=1' at line 1



kad uradim kroz manuel (phpmyadmin 2.6.1), prikaze sledecu sintaksy:
$sql = 'DELETE FROM `lica` WHERE CONVERT(`maticnibroj` USING utf8) = ''8484848484848'' LIMIT 1';



MySQL 4.1.9-max
PHP Version 4.3.10


ID mi je u tabeli INDEX auto_increment , a maticnibroj UNIQUE ! (imacu vise tabela)



[Ovu poruku je menjao SELECTME dana 22.05.2007. u 01:22 GMT+1]

[Ovu poruku je menjao SELECTME dana 22.05.2007. u 01:23 GMT+1]
[ Nemanja Avramović @ 22.05.2007. 09:04 ] @
DELITE? Valjda DELETE

i ne treba DELETE * FROM nego DELETE FROM...
[ Jezdimir Lončar @ 22.05.2007. 12:57 ] @
E da i ovo zavrsimo :)
Code:

$result=mysql_query("SELECT id, ime, prezime FROM lica ORDER BY ime, prezime");
$numrows=mysql_num_rows($result);
// sad ispisujem formu..
echo "<form name='forma1' action='".$_SERVER['PHP_SELF']."' method='post'>";
echo "<select name=\"liceID\">";
while($r=mysql_fetch_array($result) {
echo "<option value='".$row['id']."'>".$row['ime'].$row['prezime']."</option>";
}
echo "</select>";
echo "<input type='submit' name='del' value='Obrisi'>";
echo "</form><br />";
// Ako nema regovanih korisnika
} else {
echo "<br />Nema registrovanih lica!";
}
// Ako ste pritisnuli Submit
if(isset($_POST['del'])){
$id=$_POST['liceID'];
//Protiv SQL injectiona
$id = mysql_real_escape_string($id);
if(!is_numeric($id)) {
die("SQL Injection stopped!");
}
mysql_query("DELETE FROM `lica` where id=".$id) or die(mysql_error());
echo "<br />Podatak obrisan iz baze!";
}

Sad pogledaj da nema bugova, jer sam ovo na brzaka prepravljao.
P.S. Nemoj da praktikujes da ti neko pise kod...
[ SELECTME @ 22.05.2007. 16:21 ] @
HVALA svima na pomoci !