Foros del Web » Programando para Internet » PHP »

problemas con consulta y array

Estas en el tema de problemas con consulta y array en el foro de PHP en Foros del Web. bueno les cuento... tengo el siguiente codigo.. que en parte hasta aca marcha. mysql_connect($dbhost,$user,$pass) or die ("error coneccion 001"); mysql_select_db($dbname); ?> <script type="text/javascript"> var teveo ...
  #1 (permalink)  
Antiguo 13/01/2010, 19:39
 
Fecha de Ingreso: agosto-2008
Mensajes: 367
Antigüedad: 15 años, 8 meses
Puntos: 5
problemas con consulta y array

bueno les cuento... tengo el siguiente codigo..
que en parte hasta aca marcha.

mysql_connect($dbhost,$user,$pass) or die ("error coneccion 001");
mysql_select_db($dbname);



?>
<script type="text/javascript">
var teveo = null;
var teveodos = null;
var formus = [null, 'TD', 'TC', 'FID', 'CTA'];
var formusdos = [null, 'TDdos', 'TCdos', 'FIDdos', 'CTAdos'];
var formustres = [null, 'TDtres', 'TCtres', 'FItes', 'CTtes'];
function muestra(formulario) {
if (teveo != null)
document.getElementById(teveo).style.display = 'none';
if (formus[formulario] != null)
document.getElementById(formus[formulario]).style. display = 'block';
teveo = formus[formulario]
}
function muestrados(formulariodos) {
if (teveodos != null)
document.getElementById(teveodos).style.display = 'none';
if (formus[formulariodos] != null)
document.getElementById(formusdos[formulariodos]). style. display = 'block';
teveodos = formusdos[formulariodos]
}
</script>
<?php
echo
"<form>
<select name='primero' id='nuevo' onchange='muestra(this.selectedIndex);'>
<option value='0'>Seleccione un producto</option>
<option value='1'>autos</option>
<option value='2'>camiones</option>
<option value='3'>camionetas</option>
<option value='4'>motos</option>
</select>
</form>";
$rs=mysql_query("SELECT * FROM marcautos") or die("no selecciona marca");
echo "<form action='' method='post' name='form1' id='TD' style='display:none;'>" ;
echo "<select name='marca' onchange='muestrados(this.selectedIndex);'><option value=''>Elige Marca</option>";
while($row=mysql_fetch_array($rs)) echo "<option value='".$row['marcas']."'>".$row['marcas']."</option>";
echo "</select>
</form>" ;

ahora paso a explicar... esto lo que hace son dos cosas una al seleccionar "autos"
por ej realiza una consulta a mysql. y trae y muestra todas las marcas entre <option>

hasta ahi marcha...
el problema es que cuando seleccionas la marca deberia mostrar los modelos correspondientes a la misma
en este otro option

echo "<form action='' method='post' name='form1' id='TDdos' style='display:none;'>" ;

echo "<select name='modelo'><option value=''>Elige Modelo</option>";
echo "<option value='".$row['mod']."'>".$row['mod']."</option>";
echo "</select>
</form>" ;

para eso cuando hago la consulta a mysql deberia hacerla a dos tablas y no a marcautos como esta ahi. sino a "marcautos,modelos" para ya tener las marcas y los modelos en el array. el problema consiste en que si hago la consulta a dos tablas en vez de una como esta ahi..
los resultados en marcas se multiplican como 5 veces.. osea aparecen 5 veces cada marca . y modelos no marcha...
alguien sabe explicarme que pasa...
muchas rgaicas
  #2 (permalink)  
Antiguo 13/01/2010, 20:02
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problemas con consulta y array

Si muestras cuál es la estructura de las tablas y el reultado que deseas obtener, será más fácil ayudarte.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 13/01/2010, 20:16
 
Fecha de Ingreso: agosto-2008
Mensajes: 367
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: problemas con consulta y array

seria algo asi.... tabla marcauto. tiene todas las marcas. unicamente marcas. peugeot,citroen,audi,chevrolet. etc...
tabla modelo tiene todos los modelos segun marca. con dos campos... marca y modelo. que seia algo como marca modelo
nissan D 20
citroen ax
nissan D21
peugeot 206
peugeot 306

es una tabla muy simple

muchas gracias por la mano señores...

por lo que estoy viendo creo que esto se soluciona de otra forma... pero no puedo con ella

algo como despues del primer query.. al mostrar las marcas. cuando un usuario elige una marca guardarla en una variable. y realizar el segundo query
pero no encuentro la forma de guardar la variable.. ni tampoco de retrasar el segundo querry
gracias nuevamente
  #4 (permalink)  
Antiguo 14/01/2010, 07:49
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problemas con consulta y array

Parece que hay un problema de diseño en tu base de datos. Es redundante tener nuevamente el nombre de la marca en la tabla "modelo".

En la tabla modelo deberías tener únicamente un campo FK que contenga el ID de la marca.

Y para obtener todos los modelos de una marca:
Código MySQL:
Ver original
  1. SELECT modelo FROM modelos WHERE id_marca = N;
Donde N es el ID de la marca.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: Ninguno
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 13:24.