Foros del Web » Programando para Internet » PHP »

Select Box + php + mysql

Estas en el tema de Select Box + php + mysql en el foro de PHP en Foros del Web. Que tal. Tengo un select que se llena de los datos de una tabla de esta forma: Código PHP: <?php $db  =  mysql_connect ( "localhost" ...
  #1 (permalink)  
Antiguo 08/10/2005, 09:51
 
Fecha de Ingreso: octubre-2005
Mensajes: 4
Antigüedad: 19 años, 1 mes
Puntos: 0
Select Box + php + mysql

Que tal.
Tengo un select que se llena de los datos de una tabla de esta forma:
Código PHP:
<?php
$db 
mysql_connect("localhost","root");
mysql_select_db("acarreos"$db);

$empresaresult mysql_query ("SELECT * FROM empresa",$db);
echo 
" <select name = '$nombreempresa'> \n";
 if (
$myrow mysql_fetch_array($empresaresult)) {
      do {
      
printf(" <option value=\"%s\"> %s </option>\n"$myrow["nombre_e"],     $myrow["nombre_e"]);
      }
      while (
$myrow mysql_fetch_array($empresaresult));
           echo 
"</select></td>";
     }
        else {}         
?>
Esto me llena bien las opciones del Select, mi problema es cuando intento agregar el contenido que se seleccionó de las opciones del select a la base de datos, no se como pasarle la variable que tiene lo que se seleccionó del select a la consulta sql para que lo agrege a la base de datos, este es el codigo que tengo para agregar los datos, que si funciona pero no me agrega el último campo:

Código PHP:
if($submit) {
$db mysql_connect("localhost","root");
mysql_select_db("acarreos",$db);
$sql =" INSERT INTO obra (nombre_o, tarifa_1, tarifa_2, nombre_e) VALUES ('$nombre', '$tarifa1', '$tarifa2','$nombre_e'')";  ///  ESTE ULTIMO CAMPO ES EL QUE MO SE COMO AGREGARLO...
$result mysql_query($sql);
if  (
mysql_errno() !=0) echo "<br>ERROR mysql_query: " .mysql_error();
echo 
"Registrado\n";
echo 
"<a href=\acarreos1/index2.php\> Agregar otro?</a>\n";
} else {
?> 
Espero haberme dado a entender y de antemano gracias por la ayuda!!!
  #2 (permalink)  
Antiguo 08/10/2005, 10:02
 
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 8 meses
Puntos: 0
estudia esto y creo que podras sacar algo en claro.
<?php
if ($submit):
$cnx = conectar ();

$campos = "orden,fechae,pagon,urgente,rurgencia,desplazamien to,gestion,siniestro,id,otroscobro";
$valores .= "'".$_POST['orden']."',";
$valores .= "'".$_POST['res']."',";
$valores .= "'".$_POST['pagon']."',";
$valores .= "'".$_POST['urgente']."',";
$valores .= "'".$_POST['rurgencia']."',";
$valores .= "'".$_POST['desplazamiento']."',";
$valores .= "'".$_POST['gestion']."',";
$valores .= "'".$_POST['siniestro']."',";
$valores .= "'".$_POST['id']."',";
$valores .= "'".$_POST['otroscobro']."'";




if ($orden==""){
echo ("<p>Debes de introducir el numero del parte</p>");
}
else
$sql = "INSERT INTO pmultiasistencia ($campos) VALUES($valores)";
$res = mysql_query($sql) or die(mysql_error());
echo("<p>Alta dada satisfactoriamente</p>");

mysql_close($cnx);
exit;


?>
<?php
else:
?> <body onload=" llenaAno(document.frm.ano)">
<table border="3" width=100% bordercolor="#0000FF"bgcolor="#C0C0C0">
<form name="frm" method="post" action="<?echo $_SERVER['PHP_SELF'];?>">
<tr > <td>
<b>Orden:</b> <input type="text" name="orden" size="10" maxlength="255" />

<b>Fecha de Envio: </b>
Año:
<select name="ano" onchange="cambia(0)" style="width: 80">
</select>
Mes:
<select name="mes" onchange="cambia(1)" style="width: 80">
</select>
Día:
<select name="dia" onchange="cambia(2)" style="width: 80">
</select>
<input type="text" name="res" id="fechae" disabled>
</td>
</tr>
<tr> <td>
<b>Cantidad a Cobrar: </b><input type="text" name="pagon" size="6" maxlength="6" />


<b>Urgente:</b><select name="urgente">
<option value="NO">No</option>
<option value="SI">Si</option></select>

</td> </tr>
<tr> <td>
<b>Recargo por Urgencia:</b> <input type="text" name="rurgencia" size="2" maxlength="2" />

<b>Cobro por desplazamiento:</b> <input type="text" name="desplazamiento" size="6" maxlength="6" />

<b>Gastos por Gestion:</b> <input type="text" name="gestion" size="6" maxlength="6" />
</td> </tr>
<tr> <td>
<b>Siniestro:</b> <select name="siniestro">
<option value="NO">No</option>
<option value="SI">Si</option></select>

<b>Otros Cobros:</b> <input type="text" name="otroscobro" size="6" maxlength="6" />
</td> </tr>
<tr> <td>
<input type="submit" name="submit" value="ALTA" />
</td> </tr>
</form>
</table>

<?php endif; ?>
  #3 (permalink)  
Antiguo 08/10/2005, 10:44
 
Fecha de Ingreso: octubre-2005
Mensajes: 4
Antigüedad: 19 años, 1 mes
Puntos: 0
mmmmm...
Veo que tu select lo puedes nombrar y así recoger el dato para agregarlo a la base de datos. Pero en mi sentencia cuando al select le pongo nombre me manda un error por eso nada mas lo dejo así:

echo " <select > \n";

Si no tomara los datos para llenar el selec de la base de datos sería muy facil hacer que ingresara lo que se seleccionó, pero mi problema es que las opciones son de una tabla.

de todos modos gracias!!!
  #4 (permalink)  
Antiguo 08/10/2005, 11:00
 
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 8 meses
Puntos: 0
ahi no llego. pero si encuentro algo seguro que te dire algo
  #5 (permalink)  
Antiguo 08/10/2005, 11:04
 
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 8 meses
Puntos: 0
he encontrado algo cuando escribes esto $myrow["nombre_e"] creo que no se hace con doble comilla si no con comillas simples oseace $myrow['monbre_e'].

Pero claro yo no domino muy bien aun el php esto aprendiendo asi que no estoy seguro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:11.