Foros del Web » Programando para Internet » PHP »

problema con combox

Estas en el tema de problema con combox en el foro de PHP en Foros del Web. hola tengo un problema con un combox me gustaria que alguien me ayude, estoy usando php con mysql, mi problema es este tengo una tabla ...
  #1 (permalink)  
Antiguo 22/10/2007, 23:52
 
Fecha de Ingreso: octubre-2007
Mensajes: 6
Antigüedad: 16 años, 6 meses
Puntos: 0
problema con combox

hola tengo un problema con un combox me gustaria que alguien me ayude, estoy usando php con mysql, mi problema es este tengo una tabla marca con el cambo idmarcas y nmarca el cual llamo por medio de un select (combo box), el me muestra la consulta de la informacion almacenada en el cambo nmarca, el problema es que el resultado de la seleccion del combo box lo quiero insertar en otra tabla llamada equipo en el campo modelo, diganme como lo puede inserta este es el codigo que tengo para el combo box y el codigo para insertarlo.

<?php
$result = mysql_query("SELECT * FROM marcas order by idmarcas");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo '<option value="'.$row["id"].'">'.$row["nmarca"].'</option>';
}
$combo=mysql_free_result($result);

?>
para insertarlo

<?php
include('conexion.inc.php');
$conexion=Conectarse();
if($_POST){
$combo=$_POST[combo];
mysql_query("INSERT INTO marcas VALUES ('0','$nmarca')",$conexion) or die(mysql_error());
$R=mysql_query("SELECT * FROM marcas",$conexion);
?>

el error que de da es este
Column count does n't match value count at row 1
  #2 (permalink)  
Antiguo 23/10/2007, 00:01
Avatar de jorgedx  
Fecha de Ingreso: junio-2005
Ubicación: Chile, Los Andes
Mensajes: 406
Antigüedad: 18 años, 10 meses
Puntos: 4
Re: problema con combox

Hola donke Prueba asi ...

Código PHP:
<?php
include('conexion.inc.php');
$conexion=Conectarse();
if(
$_POST){
$combo=$_POST['combo'];
mysql_query("INSERT INTO marcas (id,nmarca) VALUES ('0','$nmarca')",$conexion) or die(mysql_error());
$R=mysql_query("SELECT * FROM marcas",$conexion);
?>
Saludos...
__________________
Nuevamente a las pistas ...
  #3 (permalink)  
Antiguo 23/10/2007, 01:18
 
Fecha de Ingreso: octubre-2007
Mensajes: 6
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: problema con combox

te lo agradesco mucho jorgedx gracias.
ya ice el codigo que me mandaste solo que no me almacena la seleccion que yo e echo el automaticante inserta todo, por ejemplo en la tabla marca del campo nmarca tengo 20 registro y selecciono uno de ellos cuando le doy enviar el inserta los 20 de un solo pero solo me muestra que a ocupado un espacio pero no se ve la informacion, te agradeceria si me dijeras como insertar lo que yo selecciono y que me lo muestre
  #4 (permalink)  
Antiguo 23/10/2007, 01:37
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: problema con combox

Hola,
No entiendo muy bien lo q quieres... a ver, lo q quieres es q la seleccion de tu COMBOBOX de MARCAS se guarde en otra tabla llamada EQUIPO en el campo MODELO, es asi?
o bien, quiere insertar todos los registros q tienes en MARCAS e insertarlos en EQUIPO?

Código PHP:
<select id="idmarca" name="idmarca">
<?php 
$result 
mysql_query("SELECT * FROM marcas order by idmarcas"); 
while (
$row mysql_fetch_array($resultMYSQL_ASSOC)){ ?>
    <option value="<?=$row['id']?>"><?=$row['nmarca']?></option> 
<?php ?>
</select>
<?php 
$combo
=mysql_free_result($result); 
?>

<?php 
include('conexion.inc.php');
$conexion=Conectarse();
if(
$_POST){
$idmarca=$_POST['idmarca'];
mysql_query("INSERT INTO equipo (id,modelo)
             VALUES ('0','$idmarca')"
,$conexion) or die(mysql_error());
}
?>
sino es asi explicame un poco mas lo q deseas hacer...

saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #5 (permalink)  
Antiguo 23/10/2007, 01:52
 
Fecha de Ingreso: octubre-2007
Mensajes: 6
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: problema con combox

ya me dio que me insertara uno por uno habia puesto mal un dato ahora solo me falta que me lo muetre solo meda el idequipo, se incrementa los datos pero vacios, asi

Idequipo modelo

1
2
3

en modelo queda asi no se ven los datos
  #6 (permalink)  
Antiguo 23/10/2007, 01:56
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: problema con combox

Hola de nuevo!
puedes poner tu codigo completo?
en tu BD esta el campo insertado? si es q si entonces es un problema de tu consulta a la hora de mostrarlo, sino hay nada en tu BD entonces el problema se aisla solamente a q no te inserta el dato, ya sea xq no te llega o por algun otro error!

saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #7 (permalink)  
Antiguo 23/10/2007, 02:18
 
Fecha de Ingreso: octubre-2007
Mensajes: 6
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: problema con combox

Aca lo conecto ala base de datos
?php
include('conexion.inc.php');
$conexion=Conectarse();
$R=mysql_query("SELECT * FROM equipo",$conexion);
?>
Aca es para mostrarme el resultado de la seleccion
<?
while($r=mysql_fetch_array($R)){
$idequipo=$r[idequipo];
$idmarca=$r[modelo];
?>
Este el código que me diste del combo box
<select id="idmarca" name="idmarca">
<?php
$result = mysql_query("SELECT * FROM marcas order by idmarcas");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){ ?>
<option value="<?=$row['id']?>"><?=$row['nmarca']?></option>
<?php } ?>
</select>
Y con este lo inserto
<?php
include('conexion.inc.php');
$conexion=Conectarse();
if($_POST){
$idmarca=$_POST['idmarca'];
mysql_query("INSERT INTO equipo (idequipo,modelo)VALUES ('0','$idmarca')",$conexion) or die(mysql_error());
}
?>
El resultado solo ocupa un espacio en memoria(no me muestra nada)

idequipo****modelo**
1 aca asi queda solo me da el idequipo y en modelo nada
2
  #8 (permalink)  
Antiguo 23/10/2007, 02:32
 
Fecha de Ingreso: octubre-2007
Mensajes: 6
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: problema con combox

no se si porque el campo modelo de la tabla equipo la tengo como varchar me da eso
  #9 (permalink)  
Antiguo 23/10/2007, 02:37
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: problema con combox

Hola, asi tendria q irte
pagina dnd hay el combo
Código PHP:
<form id="miform" name="miform" method="post" action="insertar.php"
    <select id="idmarca" name="idmarca"> 
    <?php 
    $result 
mysql_query("SELECT * FROM marcas order by idmarcas"); 
    while (
$row mysql_fetch_array($resultMYSQL_ASSOC)){ ?> 
    <option value="<?=$row['id']?>"><?=$row['nmarca']?></option> 
    <?php ?> 
    </select>
    <input type="submit"  name="Insertar" value="  INSERTAR  "/>
</form>
pagina donde se inserta.php
Código PHP:
<?php 
include('conexion.inc.php'); 
$conexion=Conectarse(); 
$idmarca $_POST['idmarca'];
//Aqui miramos si llega los datos por post
echo "Valor POST de idmarca=".$idmarca."<br>";
//--Buscamos el nombre de la marca
$str_marca "SELECT nmarca FROM marcas WHERE idmarca=".$idmarca;
$sql_marca mysql_query($str_marca) or die("Error SQL Marca:".mysql_error());
$res_marca mysql_fetch_row($sql_marca);
$nmarca $row[0];
echo 
"Nombre de la Marca=".$nmarca ."<br>";
// ----------------------------------------------------------------

$ins "INSERT INTO equipo (idequipo,modelo) VALUES ('0','$idmarca')";
//imprime la sentencia insertparaver q pone
echo "Sentencia Insert: ".$ins."<br>";
mysql_query($ins) or die("Error SQL Insertando modela:".mysql_error());
//-----------------------------------------------------------------
//Seguidamente imprime los resultados de equipos a ver si te dal correcto ya!!!
$str_modelo "SELECT idquipo,modelo FROM equipo";
$sql_modelo mysql_query($str_modelol) or die("Errors SQL modelo: ".mysql_error());
while(
$res_modelo=mysql_fetch_array($sql_modelo)){
  
$idequipo=$res_modelo[idequipo];
  
$nmodelo=$res_modelo[modelo];
  echo 
$idequipo."-".$nmodelo."<br>";
}
?>
prueba asi a ver q tal...

suerte y saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 23/10/2007 a las 02:42
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 21:32.