PHP - Consulta sobre consulta, y registros BD

 
Vista:

Consulta sobre consulta, y registros BD

Publicado por Ricardo J. Rios R. (22 intervenciones) el 26/11/2008 15:43:38
Buenos dias a todos, gracias por leer mi nota, en un formulario tengo un select (llamese dropdownlist) donde hago una consulta y pongo los valores, i.e.:

<select name="proveedor" id="proveedor">
<option>Seleccione Proveedor</option>
<?php
$link=mysql_connect("localhost","root","123");
mysql_select_db("activos")
$sql="SELECT `nombre` FROM `proveedores`";
$result=mysql_query($sql);
while ($datos=mysql_fetch_array($result))
echo "<option value=". $datos["nombre"] .">".$datos["nombre"]."</option>";
?>
</select>

El problemita es q este select (dropdownlist) me da bien la lista de proveedores, pero a la hora de enviar el formulario donde esta solo me guarda la primera palabra del nombre del proveedor, por ejemplo tengo el caso del nombre del proveedor "Selec Computer" que el usuario a la hora de seleccionarlo y enviar el formulario, en la base de datos solo se guarda como "Selec" quedando afuera la otra palabra u otras palabras adicionales, el campo dentro de la tabla de la base de datos es tipo VARCHAR.

Y otra consulta, tengo este codigo:

<label><strong><br />
<br />
Responsable: C.I.</strong>
<select name="ci_responsable" id="ci_responsable">
<option>Seleccionar Responsable por C.I.</option>
<?php
$link2=mysql_connect("localhost","root","123");
mysql_select_db("activos");
$sql2="SELECT `cedula` FROM `responsable`";
$result2=mysql_query($sql2);
while ($datos2=mysql_fetch_array($result2))
echo "<option value=". $datos2["cedula"] .">".$datos2["cedula"]."</option>";
?>
</select>
</label>
<label>
<input name="nombre_responsable" type="text" id="nombre_responsable" />

</label>

Pero quiero que en el input o campo de texto me salga el nombre de la persona seleccionada por su cedula, apenas el usuario lo seleccione en la lista, pero que solo lo muestre, más no pueda modificarlo el nombre.

Se agradecen sus ideas.

Gracias y Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta sobre consulta, y registros BD

Publicado por Reaven (48 intervenciones) el 27/11/2008 12:25:39
Buenas Ricardo, para el primero decirte que el "value" debe ir entre comillas cuando hagas el echo es decir:

echo "<option value='". $datos["nombre"] ."'>".$datos["nombre"]."</option>";
No se si lo lograras apreciar visualmente pero el value debe llevar una comilla simple antes de las primeras dobles comillas y otra antes de >. Y respecto a tu segunda consulta o lo haces por recarga de pagina capturando el valor del select o no te queda otra que hacerlo por javascript . Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta sobre consulta, y registros BD

Publicado por Ricardo J. Rios R. (22 intervenciones) el 27/11/2008 15:44:54
Buenos Dias Amigo gracias por su solución, ya se resolvio, con respecto a la segunda, he logrado con javascript que se vea el codigo cuando se cambie el valor del select, que seria el siguiente:

"SELECT `nombre` FROM `responsable` WHERE `responsable`.`cedula` = (Aqui la variable que me debe capturar el valor de la cedula en el select)";

La cuestion es que no se si hacer la consulta en javascript o en php ni donde ponerla para que me muestre el nombre del usuario en el campo de texto, solo he logrado que me muestre la misma cedula en el campo de texto, tengo el siguiente codigo:

<p>
<label><strong><br />
<br />
Responsable: C.I.</strong>
<select name="ci_responsable" id="ci_responsable" onchange="llenar();">
<option>Seleccionar Responsable por C.I.</option>
<?php
$link2=mysql_connect("localhost","root","123");
mysql_select_db("activos");
$sql2="SELECT `cedula` FROM `responsable`";
$rs2=mysql_query($sql2);
while($row2=mysql_fetch_array($rs2))
{
if (isset ($_REQUEST['c12']) && $_REQUEST['c12'] == $row['cedula'])
$activo2 = ' selected="selected"';
else
$activo2 = '';

echo <<<FIN_HTML
<option value="{$row2['cedula']}"{$activo}>{$row2['cedula']}</option>
FIN_HTML;
}
?>
</select>
<script>
function llenar()
{
document.form1.nombre_responsable.value = document.form1.ci_responsable.value;
}
function llenar2()
{
document.form1.nombre_usuario.value = document.form1.ci_usuario.value;
}
</script>

</label>
<label>
<input name="nombre_responsable" type="text" id="nombre_responsable" readonly="readonly" />

</label>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar