Bun venit pe SkullBox!

Bine ai venit, Vizitator. Trebuie să te autentifici sau să îţi creezi un cont.
Ai pierdut sau nu ai primit emailul care conţine codul de activare al contului?

Autentifică-te cu numele de utilizator, parola şi precizează durata sesiunii.
  Pagini: [1]
  Imprimă  
inserare date din tabel html cu select option  (Vizualizari 442)
sergiu
*

Deconectat Deconectat

Mesaje: 4

inserare date din tabel html cu select option, Iul 30, 2008, 17:48

Buna la toti,

Sunt nou pe aici si va rog sa ma scuzati daca nu am postat unde trebuie.

Ca si toata lumea am si eu o problema...

Am un tabel html cu mai multe randuri, fiecare rand are campuri ascunse si un select option.

Valoarea lui variabilei select option poate sa fie si zero.

Acum vreau sa trimit toate datele prin post la o alta pagina, unde vreau sa selectez doar acele randuri care au valoarea din select option mai mare decat zero si sa le introduc in baza de date in 2 tabele diferite.

Am rugamintea sa-mi indrume pasii cineva.

Multumesc anticipat.
Memorat
Agkelos
*

Deconectat Deconectat

Mesaje: 5229

WWW
inserare date din tabel html cu select option, Iul 30, 2008, 19:12

Salut !

Nu ai postat unde trebuie, dar cum esti Sergiu ca si mine trecem peste Tongue

Ce vrei tu nu stiu cum altfel ai putea face decat prin JavaScript, dar chiar si asa te complici foarte mult si pe langa asta e posibil sa apara si probleme de compatibilitate intre browsere. Cel mai simplu ar fi sa trimiti tot formularul asa cum e si sa faci separarea din PHP dupa ce preiei datele. Daca ai putea sa postezi codul formularului ti-as putea da o idee si despre cum ar trebui facuta separarea din PHP, daca nu te descurci, desi mai dearte totul ar trebui sa fie foarte simplu.
Memorat



Problemele se rezolva pe forum. Nu trimiteti PM ca nu va ajut.
Pentru urgente, skullbox at skullbox . info.
sergiu
*

Deconectat Deconectat

Mesaje: 4

inserare date din tabel html cu select option, Iul 30, 2008, 19:53

Acesta este codul, mai bine zis o parte din el,

<form name="adauga" action="salveaza.php" method="post">
               <input type="hidden" name="cod" value="'.$rand['cod'].'">
               <input type="hidden" name="pret" value="'.$rand['pret'].'">
                    <select name="cant">
                                <option selected value="0">0</option>       
                                <option value="1">1</option>
                                <option value="2">2</option>
                                <option value="3">3</option>
                                <option value="4">4</option>
                                <option value="5">5</option>
                                <option value="6">6</option>
                                <option value="7">7</option>
                                <option value="8">8</option>
                       </select>
                  <input type="submit" name="adauga" value=" + ">
                  </form>

In mod normal mai sunt si cateva randuri afisate printre dar nu au nici o importanta.
Acum eu vreau ca ptr fiecare dintre ele care au valoarea mai mare ca zero sa le introduc in 2 tabele din baza de date.
Ideea este ca mie imi introduce numai un rand....

Multumesc
« Ultima modificare: Oct 09, 2008, 21:46 de către emi » Memorat
Agkelos
*

Deconectat Deconectat

Mesaje: 5229

WWW
inserare date din tabel html cu select option, Iul 30, 2008, 20:14

Bun, hai sa lamurim cateva chestii. Codul de mai sus ce reprezinta ? Asta ai tu pe fiecare linie in parte ? Sau ai un cum ai prezentat si campurile input si select se repeta pentru fiecare rand in parte ?

Daca ai cate un form pentru fiecare rand nu e bne pentru ca fiecare form trebuie trimis separat ceea ce e imposibil folosind doar HTML.

Daca ai un form mare si campurile input/select se repeta pentru fiecare rand (care presupun ca reprezinta un produs) iar nu e bine pentru ca campul select are acelasi nume fara sa fie asociat unui produs.

Ce iti recomand sa faci, e sa pui un formular mare care sa includa intreg tabelul iar numele campurilor sa fie de forma: $CodProdus_cod, $CodProdus_pret, $CodProdus_cant. Dupa asta poti verifica numele variabilei ($_POST e un array asociativ) si sa separi variabilele in functie de $Cod_Produs. E ceva mai multa munca dar se poate.

O alta varianta ar fi sa preiei toate valorile trimise prin POST si sa le salvezi intr-un array din care scoti cu o bucla cate 4 (sau cate elemente ai in formular) folosind pop() si al patrulea element sa il compari pentru a decide ce se intampla cu elementele scoase. Adica ceva de genul asta:

Cod:
$array = (lista de elemente);
for( $i=0 ; $i<(count($array)/4) ; $i++){
 $cod = pop($array);
 $pret = pop($array);
 $cant = pop($array);
 $value = pop($array); // De asta nu ai nevoie, dar trebuie pop() ca sa il scoti din lista
}
Memorat



Problemele se rezolva pe forum. Nu trimiteti PM ca nu va ajut.
Pentru urgente, skullbox at skullbox . info.
sergiu
*

Deconectat Deconectat

Mesaje: 4

inserare date din tabel html cu select option, Iul 30, 2008, 22:08

Asa am un formular mare si lat dar sincer sa fiu nu ma prea descurc la capitolul asta.Poti sa-mi indrumi putin pasii referitor la "Dupa asta poti verifica numele variabilei ($_POST e un array asociativ) si sa separi variabilele in functie de $Cod_Produs. E ceva mai multa munca dar se poate."


Multumesc mult ptr rabdare
Memorat
Agkelos
*

Deconectat Deconectat

Mesaje: 5229

WWW
inserare date din tabel html cu select option, Iul 30, 2008, 23:01

Hai ca am facut un mic cod cu care ar trebui sa te descurci. Ai doua fisiere, unul in care ai formularul (sa zicem index.html) si unul care prelucreaza (salveaza.php) cu urmatorul continut:

index.html:
Cod:
<html>
<head><title>test</title>
</head>
<body>
<form method="post" action="salveaza.php">
 <input name="cod_1" value="5" />

 <input name="pret_1" value="70" />

 <input name="cant_1" value="0" />

 <input name="cod_2" value="5" />

 <input name="pret_2" value="3" />

 <input name="cant_2" value="1" />
 <input type="submit" name="aduga" value=" Trimite " />
</form>
</body>
</html>
salveaza.php:
Cod:
<?php
$valori 
= array();
while( list(
$key,$value) = each($_POST) ){
  
array_push($valori,$value);
}

$valori array_reverse($valori);

$iteratii = ( count($valori)-) / 3;
for( 
$i=$i<$iteratii $i++ ){
  
$cod array_pop($valori);
  
$pret array_pop($valori);
  
$cant array_pop($valori);
  print 
"cod=$cod, pret=$pret, cant=$cant
"
;
  if( 
$cant ){
    print 
'$cant e mai mare decat 0
'
;
  } else {
    print 
'$cant e 0
'
;
  }
}
?>
Trimiti formularul din index.html in salveaza.php. In salveaza.php se preiau datele din $_POST (adica ceea ce trimiti) si se salveaza DOAR VALORILE in array-ul $valori. Am preferat sa verific doar valorile ca sa nu te complici cu numele cheii din array-ul asociativ.

Bun, tu stii ca ai grupuri de cate 3 variabile pentru un obiect, nu ? Folosesti functia array_pop() ca sa scoti din array cate o valoare, care va fi valoarea care te intereseaza. Executi ( count($valori)-1 ) / 3 iteratii, count($valori)-1 pentru ca si input-ul de tip submit ti-e pus in array si impartit la 3 pentru ca ai grupuri de cate 3 variabile pentru un produs. Cum functia array_pop() scoate cate un element DE LA COADA trebuie sa inversezi array-ul pentru ca elementele sa fie scoase in ordinea in care le-ai introdus tu in formular. Apoi in fiecare iteratie tu scoti cate 3 elemente din array, elemente care vor fi cele 3 valori care te intereseaza - $cod, $pret si $cant - iar apoi in functie de $cant faci ce ai de facut - eu am preferat sa afisez doar un mesaj pe ecran, tu poti pune acolo inserarea intr-o baza de date sau orice altceva iti trece prin cap.
« Ultima modificare: Oct 09, 2008, 21:46 de către emi » Memorat



Problemele se rezolva pe forum. Nu trimiteti PM ca nu va ajut.
Pentru urgente, skullbox at skullbox . info.
sergiu
*

Deconectat Deconectat

Mesaje: 4

inserare date din tabel html cu select option, Iul 31, 2008, 12:26

Iti multumesc mult de tot..

Am modificat putin codul tau(sper sa nu te superi  Big grin )
Cod:
$valori = array();
while( list($key,$value) = each($_POST) ){
  array_push($valori,$value);
}

$valori = array_reverse($valori);

$iteratii = ( count($valori))-1 / 6  ;
for( $i=0 ; $i<$iteratii ; $i++ ){
  $cod_1 = array_pop($valori);
  $pret_1 = array_pop($valori);
  $cant_1 = array_pop($valori);
 
 
 
  if( $cant_1 >= 1){
     print "cod=$cod_1, pret=$pret_1, cant=$cant_1
";
echo '
';

}
Inca o data mii de multumiri.....................
Memorat
Agkelos
*

Deconectat Deconectat

Mesaje: 5229

WWW
inserare date din tabel html cu select option, Iul 31, 2008, 17:02

No problem, dude. Ma bucur ca te-am putut ajuta Winking
Memorat



Problemele se rezolva pe forum. Nu trimiteti PM ca nu va ajut.
Pentru urgente, skullbox at skullbox . info.
SkullAds
Ecspert
ReclAmator
* * * * *
Google AdSense

Gen: Bărbat
Mesaje: Multe

Reclama AdSense,
 

 
   


Pagini: [1]
  Imprimă  
 
Schimbă forumul:  

Ethical hacking and programming community
Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC
Traducerea în limba română © 2006-2007 www.smf.ro