Comunidad de diseño web y desarrollo en internet online

ayuda con listad condicionadas en php

Citar            
MensajeEscrito el 21 Ene 2010 12:32 am
hola saludos atodos podrina ayudarme porfavor almenos indicarm que stoy haciandomal?
tengo
tres tablas
especialidad y producto hay relacion
producto y marca hay relacion
entre especialidad y marca no hay relacion

podrias por favor aqunquesea decirme que eslo que estoy haciando mal trate de hacer solo con php
por que todavai no domino java script
podrias unmomento fijase mi codigo
la idea es que el primer selcect llamado especialidad condicione al de marca
este es mi php

Código PHP :

////

<?
include "cn.php";
$sql = "SELECT * FROM especialidad ";
$rs = mysql_query($sql);
$n = mysql_num_rows($rs);
?>
<p>
  <select name="especialidad" >
    <option value="0" >Seleccionar ...</option>
    <? for($i=0; $i<$n;$i++){    
   $ciudad = mysql_result($rs,$i,"especialidad");
   $par1 = mysql_result($rs,$i,"id");
   ?>
    <option value="<? echo $idciudad?>">
      <? echo $ciudad ?>    </option>
      <? } ?>
  </select>
  
  <?php
 $par2='$par1';
 $sql = "SELECT *  FROM  producto where idespecialidad = $par2";
 $rs = mysql_query($sql);
 $n = mysql_num_rows($rs);
for($i=0;$i<$n;$i++) { 
$idmarca = mysql_result($rs,$i,"idmarca"); 
 }
 ?>
 
<?
  
  $idmarca1 ='$idmarca';
  
$sql = "select * from marca where idmarca ='$idmarca1' ";
$rs = mysql_query($sql);
$n = mysql_num_rows($rs);
 
?>
</p>
<p>
  <select name="marca"  >
       <option value="0">Seleccionar ...</option>
    <? for($i=0;$i<$n;$i++){ 
   $idciudad = mysql_result($rs,$i,"idmarca");
   $ciudad = mysql_result($rs,$i,"marca");
  ?>
    <option value="<? echo $idciudad?>">
      <? echo $ciudad ?>    </option>
    <? } ?>
  </select>
  
</p>
 
/////termina el php
 








bd abajo




Código MySQL :

-- phpMyAdmin SQL Dump
-- version 2.11.4
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 20-01-2010 a las 14:28:45
-- Versión del servidor: 5.0.51
-- Versión de PHP: 5.2.5
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Base de datos: `lazo`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `especialidad`
--
CREATE TABLE IF NOT EXISTS `especialidad` (
  `id` int(11) NOT NULL auto_increment,
  `especialidad` varchar(50) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Volcar la base de datos para la tabla `especialidad`
--
INSERT INTO `especialidad` (`id`, `especialidad`) VALUES
(1, 'cardiologia'),
(2, 'laringologia');
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `marca`
--
CREATE TABLE IF NOT EXISTS `marca` (
  `idmarca` int(11) NOT NULL auto_increment,
  `marca` varchar(50) NOT NULL,
  PRIMARY KEY  (`idmarca`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
--
-- Volcar la base de datos para la tabla `marca`
--
INSERT INTO `marca` (`idmarca`, `marca`) VALUES
(1, 'mayer'),
(2, 'peruana'),
(3, 'shuler'),
(4, 'american');
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `producto`
--
CREATE TABLE IF NOT EXISTS `producto` (
  `idproducto` int(11) NOT NULL auto_increment,
  `idespecialidad` int(11) NOT NULL,
  `idmarca` int(11) NOT NULL,
  PRIMARY KEY  (`idproducto`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
--
-- Volcar la base de datos para la tabla `producto`
--
INSERT INTO `producto` (`idproducto`, `idespecialidad`, `idmarca`) VALUES
(1, 1, 1),
(2, 1, 2),
(3, 2, 3),
(4, 2, 4);

Por swingbeach21

Claber

104 de clabLevel



 

msie
Citar            
MensajeEscrito el 21 Ene 2010 01:21 am
de entrada estas mal ya que una ves que php se ejecute no puedes acceder a parametros ya que es un html puro necesitarias actualizar la pagina cada ves que manejes un select y tendrias que hacerlo con javascript. yo te recomiendo que utilizes ajax ya que su funcionamiento te permitira modificar tus listas cada ves que se seleccione un valor en cada lista que es como me imagino requieres que funcione. en conclusion requieres javascript si no estas muy familiarizado investigale tantito si comprendes php es nada mas acostumbrarte a la sintaxis, para ajax pudes utilizar xajax que es una libreria php que en general te permite crear funciones php y que envian respuestas y manipulas elemetos como en javascript.

Por jorhcl

28 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.