Un pic de ajutor la un insert

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

Avatar utilizator
botavlad
Average Member
Mesaje: 101
Membru din: Vin Mai 13, 2011 8:21 pm
Contact:

Un pic de ajutor la un insert

Mesajde botavlad » Sâm Sep 27, 2014 5:36 pm

Buna ziua !!!
Ma puteti ajuta si pe mine la un insert !! Am urmatorul Script

Cod: Selectaţi tot

<script type="text/javascript">
function selectCity(country_id){
   if(country_id!="-1"){
      loadData('Familie',country_id);
      $("#city_dropdown").html("<option value='-1'>Select city</option>");   
   }else{
      $("#Familie_dropdown").html("<option value='-1'>Select state</option>");
      $("#Produs_dropdown").html("<option value='-1'>Select city</option>");      
   }
}

function selectState(state_id){
   if(state_id!="-1"){
      loadData('Produs',state_id);
   }else{
      $("#Produs_dropdown").html("<option value='-1'>Select city</option>");      
   }
}

function loadData(loadType,loadId){
   var dataString = 'loadType='+ loadType +'&loadId='+ loadId;
   $("#"+loadType+"_loader").show();
    $("#"+loadType+"_loader").fadeIn(400).html('Please wait... <img src="image/loading.gif" />');
   $.ajax({
      type: "POST",
      url: "loadData.php",
      data: dataString,
      cache: false,
      success: function(result){
         $("#"+loadType+"_loader").hide();
         $("#"+loadType+"_dropdown").html("<option value='-1'>"+loadType+"</option>"); 
         $("#"+loadType+"_dropdown").append(result); 
      }
   });
}
</script>

Si partre de afisare care se alta tot in fisierul index.php

Cod: Selectaţi tot

<?php
      
         if($checkCountry > 0){
         
            ?>
            <form action='index.php' method='POST'>
            <table>
            
               <tr>
                  <td>
                     <select onchange="selectCity(this.options[this.selectedIndex].value)" name="client">
                        <option value="-1">Clientul</option>
                        <?php
                        while($rowCountry=mysql_fetch_array($resCountry)){
                           ?>
                           <option value="<?php echo $rowCountry['id']?>"><?php echo $rowCountry['country_name']?></option>
                           <?php
                        }
                        ?>
                     </select>
                  </td>
               
               
                  <td>
                     <select id="Familie_dropdown" onchange="selectState(this.options[this.selectedIndex].value)"name="familie">
                        <option value="-1">Familie Produs</option>
                     </select>
                     <span id="state_loader"></span>
                  </td>
               
               
               
                  <td>
                     <select id="Produs_dropdown" name="produs">
                        <option value="-1">Produs</option>
                     </select>
                     <span id="city_loader"></span>
                  </td>
                  
                  <td>
                     <input type='text' name='cantitate'/>                     
                  </td>
                  <td>
                     <select name="formatie">
                        <option >Formatie</option>
                        <option>A</option>
                        <option>B</option>
                        <option>C</option>
                     </select>
                     
                  </td>
                  <td>
                     <select name="schimb">
                        <option name="schimb">Schimb</option>
                        <option>1</option>
                        <option>2</option>
                        <option>3</option>
                     </select>
                     
                  </td>
                  <td><input type='submit' value='Adauga' name='submit'/></td>
               </tr>
               </form>
               
            </table>
            <?php
         }else{
            echo 'No Country Name Found';
         }


Asa si avem si partea de inserare

Cod: Selectaţi tot

if(isset($_POST['submit'])){
   $Client = $_POST['client'];
   $familie= $_POST['familie'];
   $Den = $_POST['produs'];
   $cantitate = $_POST['cantitate'];
   $Schimb = $_POST['schimb'];
   $Formatia = $_POST['formatie'];
$sql4 = "insert into lista (Client,Produs,Cantitate,Schimb,Formatie,Data)
                    VALUES ('$Client','$Den','$cantitate','$Schimb','$Formatia',NOW())";
               header('Location:index.php');
 $res4 = mysql_query($sql4) or die(mysql_error());
   
 

   }

Problema este la inserare imi introduce la baza de date id fiecarui produs eu doresc denumirea ? se poate face asa ceva ? Va multumesc !!
P.S Fisierul loaddata.php

Cod: Selectaţi tot

<?php
include('dbConnect.inc.php');

$loadType=$_POST['loadType'];
$loadId=$_POST['loadId'];

if($loadType=="Familie"){
   $sql="select id,state_name from state where country_id='".$loadId."' order by state_name asc";
}else{
   $sql="select id,city_name from city where state_id='".$loadId."' order by city_name asc";
}
$res=mysql_query($sql);
$check=mysql_num_rows($res);
if($check > 0){
   $HTML="";
   while($row=mysql_fetch_array($res)){
      $HTML.="<option value='".$row['id']."'>".$row['1']."</option>";
   }
   echo $HTML;
}
?>

Multumesc incaodata !!



kusanagi
New Member
Mesaje: 4
Membru din: Lun Sep 29, 2014 7:45 am

Re: Un pic de ajutor la un insert

Mesajde kusanagi » Mar Sep 30, 2014 12:43 am

Nu prea inteleg ce anume vrei. Poti fi mai detaliat? ce si unde vrei sa introduci sau sa afisezi?

sirlucas
New Member
Mesaje: 4
Membru din: Joi Aug 16, 2007 2:06 pm
Localitate: Dublin
Contact:

Re: Un pic de ajutor la un insert

Mesajde sirlucas » Joi Oct 23, 2014 6:18 pm

Păi ceea ce primești tu în $POST['client'] e populat cu
<option value="<?php echo $rowCountry['id']?>">
în bucata asta de cod:

Cod: Selectaţi tot

<select onchange = "selectCity(this.options[this.selectedIndex].value)" name = "client">
    <option value = "-1">Clientul</option>
    <?php
    while($rowCountry = mysql_fetch_array($resCountry)){  ?>
        <option value="<?php echo $rowCountry['id'] ?>"><?php echo $rowCountry['country_name'] ?></option>
    <?php } ?>
</select>

Bănuiesc că aici trebuie să schimbi cu ce dorești.

alexe
Average Member
Mesaje: 60
Membru din: Vin Sep 14, 2012 3:45 pm

Re: Un pic de ajutor la un insert

Mesajde alexe » Vin Oct 24, 2014 8:34 am

Deci tu ai un select care are optiunile valorile egal cu id fiecarui produs si vrei sa introduci in baza de date numele produsului care apartine de id selectat?
Daca da atunci incearca sa modifici asa:

Cod: Selectaţi tot

if(isset($_POST['submit'])){
    /* Cream variabila cu datele primite de la formular */
    $Client = $_POST['client'];
    $familie= $_POST['familie'];
    $Den = $_POST['produs'];
    $cantitate = $_POST['cantitate'];
    $Schimb = $_POST['schimb'];
    $Formatia = $_POST['formatie'];
    /* Selectam din baza de date detalii despre produsul selectat */
    $sql = mysql_query("SELECT * FROM `tabel` WHERE `coloana`={$Den}") or die(mysql_error($sql));
    /* Verificam daca a aparut vreo eroare la conectarea in baza de date */
    if($sql){
        /* Cream un array cu produsul */
        $query = mysql_fetch_array($sql);
        $Den = $query[nume_coloana];
        /* Introducem in baza de date datele noi */
        $sql4 = "insert into lista (Client,Produs,Cantitate,Schimb,Formatie,Data) VALUES ('$Client','$Den','$cantitate','$Schimb','$Formatia',NOW())";
        $res4 = mysql_query($sql4) or die(mysql_error($res4));
        /* Verificam daca daca nu a aparut nici o eroare, iar daca raspunsul ii pozitiv/true atunci redirectionam pe pagina 'index.php' */
        if($res4){
            header('Location:index.php');
            exit;
        }else{
            echo $res4;
        }
    }else{
        echo $sql;
    }
}


Acesta ar fii codul de inserare daca ii dupa cum am inteles, acuma ramane sa mai il adaptez dupa cum ti scriptul, adica:
1. Schimbi in linia 10 al codului care ti l-am dat tabelu si coloana.

Cod: Selectaţi tot

$sql = mysql_query("SELECT * FROM `tabel` WHERE `coloana`={$Den}") or die(mysql_error($sql)); 

2. In linia 15 schimbi 'nume_coloana' cu numele coloanei care pe care ii ceea ce vrei sa inserezi.

Cod: Selectaţi tot

$Den = $query[nume_coloana]; 

Optional:
3. In linia 17 daca trebuie sa schimbi numele tabelului si a coloanelor( eu ti le-am pus alea pentru ca alea le-ai pus si tu ).

Cod: Selectaţi tot

$sql4 = "insert into lista (Client,Produs,Cantitate,Schimb,Formatie,Data) VALUES ('$Client','$Den','$cantitate','$Schimb','$Formatia',NOW())"


Sau cu cum a spus cineva mai sus:
sirlucas scrie:Păi ceea ce primești tu în $POST['client'] e populat cu
<option value="<?php echo $rowCountry['id']?>">
în bucata asta de cod:

Cod: Selectaţi tot

<select onchange = "selectCity(this.options[this.selectedIndex].value)" name = "client">
    <option value = "-1">Clientul</option>
    <?php
    while($rowCountry = mysql_fetch_array($resCountry)){  ?>
        <option value="<?php echo $rowCountry['id'] ?>"><?php echo $rowCountry['country_name'] ?></option>
    <?php } ?>
</select>

Bănuiesc că aici trebuie să schimbi cu ce dorești.


In codul acela inlocuiest $rowCountry['id'] cu $rowCountry['nume'] sau cu numele coloanei care iti ofera numele produsului.


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 47 vizitatori