Am codul urmator:
<select>
<option name="autovehicule" value="autovehicule">Autovehicule</option>
<option name="electronica" value="electronica">Electronica</option>
<option name="informatica" value="informatica">Informatica</option>
</select>
si am un tabel cu 3 coloane (autovehicule, electronica, informatica) si in functie de ce optiune aleg din select sa se memoreze un mesaj in coloana corespunzatoare optiunii alese. Asa incerc sa introduc dar nu merge:
if ($_POST['informatica'] = TRUE) {
//Introducem oferta si data in BD:
$insert = "INSERT INTO `tabel` (informatica)
VALUES ( '".$_POST['mesaj']."')";
$rezultat = mysql_query($insert);
//Daca inregistrarea este ok, echo:
if ($insert = TRUE) {
echo "Oferta a fost inregistrata in informatica cu succes.";
}
}
Toata inregistrarile in tabel le-am facut ca pe cea de mai sus.
Problema e ca in loc sa-mi adauge mesajul doar in coloana informatica ... mesajul respectiv este pus in fiecare coloana.
Nu cred ca e ok cum am pus conditia asta: $_POST['informatica'] = TRUE
(dar altfel nu stiu).
Ma puteti ajuta? ... chiar si cu sugestii.
Multumesc.
probleme cu <select> si BD
Moderatori: Moderatori, Start Moderator
pai in primul rand nu cred ca e gandita bine baza ta de date....
mai bine faci 2 campuri in baza de date id si cat
iar adaugarea ta ar trebui sa fie asa :
html :
<select name="categorie">
<option value="autovehicule">Autovehicule</option>
<option value="electronica">Electronica</option>
<option value="informatica">Informatica</option>
</select>
php :
pui un error_reporting(E_ALL) la inceputul paginii de php ca sa vezi daca iti da vreo eroare cand nu merge scriptul.
if (!empty($_POST['categorie'])) {
//daca, categoria nu este goala se executa codul :
$insert = "INSERT INTO `tabel` (categorie)
VALUES ( '".$_POST['categorie']."')";
$rezultat = mysql_query($insert)or die (mysql_error());
//Daca inregistrarea este ok, echo:
if ($rezultat == TRUE) {
echo "Oferta a fost inregistrata in informatica cu succes.";
}
}
ar trebui sa mearga.
mai bine faci 2 campuri in baza de date id si cat
iar adaugarea ta ar trebui sa fie asa :
html :
<select name="categorie">
<option value="autovehicule">Autovehicule</option>
<option value="electronica">Electronica</option>
<option value="informatica">Informatica</option>
</select>
php :
pui un error_reporting(E_ALL) la inceputul paginii de php ca sa vezi daca iti da vreo eroare cand nu merge scriptul.
if (!empty($_POST['categorie'])) {
//daca, categoria nu este goala se executa codul :
$insert = "INSERT INTO `tabel` (categorie)
VALUES ( '".$_POST['categorie']."')";
$rezultat = mysql_query($insert)or die (mysql_error());
//Daca inregistrarea este ok, echo:
if ($rezultat == TRUE) {
echo "Oferta a fost inregistrata in informatica cu succes.";
}
}
ar trebui sa mearga.
Ok ... am incercat cum a scris guppy ... si ok ... merge cum trebuie ... imi pune in coloana `categorie` valorile din <select>
Dar acum sunt umpic incurcat la afisare ... doresc sa afisez spre ex doar mesajele legate de informatica(face parte din coloana `categorie`) si am facut asa:
$select = mysql_query ('SELECT categorie FROM `tabel` WHERE categorie = "informatica"');
$rezultat = mysql_query ($select);
echo "<td bgcolor=".$culoare_celula.">".$numar.") ".$rand['mesaj']."<br /><a href='index.php?pag=redirectionare&id=".$rand['id']."' target = '_blank'>".$rand['titlu']."</a> - <font color='blue' size='2'>(vizualizari: ".$rand['vizite'].")</font><br /></td>\n";
<td> face parte dintr-un tabel care functioneaza ... si $rand[] intr-o alta interogare ... dar tot ce este in echo funtioneaza cu exceptia $rand['mesaj']
Cu alte cuvinte nu reusesc sa fac corespondenta intre cele doua coloane ale tabelului `categorie` si `mesaj`. Daca folosesc echo asa cum e aici imi afiseaza tot tabelul ... daca folosesc rezultatul interogarii $select si in loc de $rand['mesaj'] scriu spre ex $rand_select['mesaj']
atunci imi afiseaza tot tabelul dar fara mesaj.
Multumesc.[/b]
Dar acum sunt umpic incurcat la afisare ... doresc sa afisez spre ex doar mesajele legate de informatica(face parte din coloana `categorie`) si am facut asa:
$select = mysql_query ('SELECT categorie FROM `tabel` WHERE categorie = "informatica"');
$rezultat = mysql_query ($select);
echo "<td bgcolor=".$culoare_celula.">".$numar.") ".$rand['mesaj']."<br /><a href='index.php?pag=redirectionare&id=".$rand['id']."' target = '_blank'>".$rand['titlu']."</a> - <font color='blue' size='2'>(vizualizari: ".$rand['vizite'].")</font><br /></td>\n";
<td> face parte dintr-un tabel care functioneaza ... si $rand[] intr-o alta interogare ... dar tot ce este in echo funtioneaza cu exceptia $rand['mesaj']
Cu alte cuvinte nu reusesc sa fac corespondenta intre cele doua coloane ale tabelului `categorie` si `mesaj`. Daca folosesc echo asa cum e aici imi afiseaza tot tabelul ... daca folosesc rezultatul interogarii $select si in loc de $rand['mesaj'] scriu spre ex $rand_select['mesaj']
atunci imi afiseaza tot tabelul dar fara mesaj.
Multumesc.[/b]
nu prea am inteles dar uite ce te sfatuiesc :
dupa fiecare interogare foloeste mysql_error();
astfel vei vedea ce eroare iti da la interogare..cand nu iti merge....adica:
$result = mysql_query($sql) or die (mysql_error());
apoi cred ca ar fi bine sa citesti despre JOIN-uri, cu aceasta poti face legatura intre 2 tabele sau mai multe...
http://www.tutorialeonline.net/ro/artic ... right-join
dupa fiecare interogare foloeste mysql_error();
astfel vei vedea ce eroare iti da la interogare..cand nu iti merge....adica:
$result = mysql_query($sql) or die (mysql_error());
apoi cred ca ar fi bine sa citesti despre JOIN-uri, cu aceasta poti face legatura intre 2 tabele sau mai multe...
http://www.tutorialeonline.net/ro/artic ... right-join
Apreciez efortul ... am intrat pe link sincer eu lucrez cu interfata phpmyadmin si in afara de creat tabele si BD nu prea stiu altceva asa ca da-mi voie sa mai incerc sa explic odata.
Am un tabel cu 2 coloane (pe langa id): `categorie` si `mesaj` ... si daca spre exemplu am un nr. n de id-uri in tabel din care idul 3 si 8 au `categorie`-informatica ... eu vreau sa afisez mesajele doar acelor 2 iduri care au categoria informatica.
Si eu am spus ca nu stiu cum sa fac corespondenta asta intre doua coloane ... schematic daca vrei nu stiu cum sa fac corespondeta intre:
`categorie`:informatica -->> `mesaj`: un mesaj corespunzator categoriei informatica
Sau poate nu am abordat corect problema ... poate ar trebui sa folosesc un tabel pentru informatica ... unul pentru electronica s.a.m.d ... ?
Am un tabel cu 2 coloane (pe langa id): `categorie` si `mesaj` ... si daca spre exemplu am un nr. n de id-uri in tabel din care idul 3 si 8 au `categorie`-informatica ... eu vreau sa afisez mesajele doar acelor 2 iduri care au categoria informatica.
Si eu am spus ca nu stiu cum sa fac corespondenta asta intre doua coloane ... schematic daca vrei nu stiu cum sa fac corespondeta intre:
`categorie`:informatica -->> `mesaj`: un mesaj corespunzator categoriei informatica
Sau poate nu am abordat corect problema ... poate ar trebui sa folosesc un tabel pentru informatica ... unul pentru electronica s.a.m.d ... ?
- Sim Master
- Average Member
- Mesaje: 189
- Membru din: Dum Aug 22, 2010 4:31 pm
- Localitate: Timisoara
- Contact:
- Sim Master
- Average Member
- Mesaje: 189
- Membru din: Dum Aug 22, 2010 4:31 pm
- Localitate: Timisoara
- Contact:
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 9 vizitatori
