Autor Zpráva
roman_an1
Profil
zdravím, tak zase otravuju..nevíte někdo jak vyřešit přidávání do tabulky pomocí hiddenu? tady jste mi dobře poradili smazání řádku v tabulce podle formuláře a já potřebuju vědět jak zapsat ten insert správně..už jsem snad prohledal všude i internet
Someone
Profil
Specifikuj: "přidávání do tabulky pomocí hiddenu". K čemu je to určené? Proč nepoužiješ $_SESSION?
roman_an1
Profil
Someone:
je to řešené ve stylu jakože přidávání do košíku



Someone:
a Seasion nevim jak bych měl do toho ještě více zakombinovat :D



Someone:
takhle vypadá smazání
$sql= mysql_query("DELETE FROM vyrobky WHERE id2 =".intval($_POST['id']));

takhle editace 
$sql = mysql_query ("UPDATE vyrobky SET mnozstvi = ".intval($_POST['mnozstvi']) . " WHERE id2 = ".intval($_POST['id']) );

ale jak vytvořit dotaz pro INSERT to netuším 
Someone
Profil
"jak vytvořit dotaz pro INSERT" je strašně moc všeobecné, neznám strukturu té tabulky, kam to chceš vkládat, neznám všechny používané proměnné. Nehledě na to, že se toto dělá pomocí $_SESSION
roman_an1
Profil
Someone:
jestli by vám to nevadilo..tak pošlu zdrojak
<?php
 
  
  session_start();
 
  $login = $_SESSION['login'] ;
  $jmena = $_SESSION['login'] ;
  
   
 $query =  "SELECT * FROM vyrobky WHERE login = '$login'";
  $query2 =  "SELECT * FROM uzivatele WHERE login = '$jmena'";
 
 
  
 
 
 
$vysledek = mysql_query($query);
$vysledek2 = mysql_query($query2);
 
 
 
 
 
 echo "<table width=30% border=2 rules=none>"; 
 
 echo mysql_error(); 
while($clen2 = mysql_fetch_object($vysledek2)) {
  
  echo "<tr width='30%'>";  
  echo "<td >";  
   
  
     echo '<strong>';
    echo"Adresa:";  echo '</strong>';
    
   
   
    echo "<tr >";  
    
     echo "<td width='10%'> " . $clen2->jmeno . "</td>"; 
        
  echo "</tr>";  
  
   echo "<tr >";  
   
     echo "<td width='10%'>" . $clen2->ulice . "</td>"; 
       
  echo "</tr>";  
   
   
    echo "<tr>";  
   
     echo "<td width='10%'>" . $clen2->psc . "</td>"; 
       
  echo "</tr>"; 
  
  
   echo "<tr>";  
   
     echo "<td width='10%'>" . $clen2->mesto . "</td>"; 
       
  echo "</tr>"; 
  
  
  
   echo "<tr>";  
   
     echo "<td width='10%'> tel: &nbsp&nbsp" . $clen2->telefon . "</td>"; 
       
  echo "</tr>";    
}
 echo "</table>";
 
  
 
echo "<table width=80% border=1 rules=none>";
 echo mysql_error(); 
while($clen = mysql_fetch_object($vysledek)) {
if(isset($_POST['smazat'])) {
 
        
 
   $sql= mysql_query("DELETE FROM vyrobky WHERE id2 =".intval($_POST['id'])); 
  header("location: editace_smazani.php");     
   
  
   }
   
   
   if(isset($_POST['upravit'])) {
 
              
             
 
$sql = mysql_query ("UPDATE vyrobky SET mnozstvi = ".intval($_POST['mnozstvi']) . " WHERE id2 = ".intval($_POST['id']) );
echo 'Zacatek SQL>>>'. $sql . '<<<Konec SQL';
 /*intval-převod řetězce na číslo*/
 
   header("location: editace_smazani.php");    
  
   }
 
  echo "<tr width='30%'>";  
   
     echo "<td width='2%'>" . $clen->id2 . "</td>";  
     echo "<td width='2%'>" . $clen->cislo . "</td>"; 
       
    
    
     echo "<td width='90%'>" . $clen->nazev .  "<form action=editace_smazani.php method=post><input type=text name=mnozstvi value= $clen->mnozstvi  size=3><input type='hidden' name='id' value='".$clen->id2."'><input type=submit name=upravit value=Upravit></form><form action=editace_smazani.php method=post><input type=hidden name=id value='$clen->id2'> <input type=submit name=smazat value=smazat></form></td>";
      
      
      
       
  echo "</tr>";
 
 
}
echo "</table>";
 
      ?>
David Klouček
Profil
Moc nechápu, ale asi hledáš něco jako:

$sql = mysql_query("INSERT INTO vyrobky (mnozstvi, id2) VALUES (".intval($_POST['mnozstvi']).", ".intval($_POST['id']).")");

//edit
K tomu kódu cos poslal:

1. je to hrozně nepřehledný, kód v blocích { } odsazuj tabulátorama nebo mezerama
2. jestli můžu doporučit, nepiš pro každej řádek výstupu novej příkaz echo, ale udělej to takhle:

<?php
//nějaký PHP...
$i = 'neco';

//tady ukončíš PHP kód
?>

Hromada HTML výstupu a třeba vypsání proměnné <?php echo $i; ?>

<?php
//tady pokračuj v PHP
?>

3. na začátku ukládáš do $login a $jmena stejné hodnoty, neni to chyba?
4. pokud si nepotřebuješ v rámci debugování vypsat SQL dotaz, tak bych ho neukládal zvlášť do proměnný, ale dal ho rovnou do mysql_query()
roman_an1
Profil
David Klouček:
jj diky za rady :) jo ty jmena a loginy uz mam předělané..jsem poslal jakousi starší verzi..jo a diky za tip s tím echem :) akorat ten dotaz furt nefrči


David Klouček:
já potřebuju něco ve smyslu dotazu jako..napíšu to prostě takhle..idkyž vím že to nejde 

$sql= mysql_query(" INSERT INTO vyrobky (id2,cislo,nazev, mnozstvi, cena, login, obrazek)    VALUES ('', '$clen->cislo','$clen->nazev', '$mnozstvi', '$clen->cena', '$login','$clen->obrazek') ") WHERE id2 =".intval($_POST['id'])



roman_an1:
ještě jsem vytvořil i toto, ale taky nefunguje 
$query = mysql_query ("SELECT * FROM vyrobky_novinky WHERE id_novinky =".intval($_POST['id']));
  $sql = mysql_query("INSERT INTO vyrobky (id2,cislo,nazev, mnozstvi, cena, login, obrazek)");
roman_an1
Profil
roman_an1:
ještě jsem vymyslel toto, ale taky to zapíše i vše idkyž kliknu pouze na jedno přidat
 $sql1=("select id_novinky from vyrobky_novinky WHERE id_novinky =".intval($_POST['id']));
$con=mysql_query($sql1);
if($con){
$sql2=("insert into vyrobky (id2,cislo,nazev, mnozstvi, cena, login, obrazek)    VALUES ('', '$clen->cislo','$clen->nazev', '$mnozstvi', '$clen->cena', '$login','$clen->obrazek')");
mysql_query($sql2);
 
}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: