no me salen datos, ayuda por favooor

javier
19 de Noviembre del 2003
hola, estoy creando un formulario en el que el usuario indica referencia y cantidad, una vez enviado este formulario cumplimenta los campos de otro formulario y el resto de campos son valores recogidos de una base de datos en que el campo referencia sea igual a la referencia introducida por el usuario o si no muestre un mensaje de articulo inexistente.
bueno el problema es que con ello voy aprendiendo poco a poco y despues de mirar manuales, por dios estoy bloqueado, logicamente yo pienso en hacer la condicion("mientras se cumpla la condición recoge las variables", "mientras no se cumpla la condicion muestra articulo inexistente") y luego estas variables las introduzco en value="variable", para cumplimentar el resto del formulario, el problema despues de mirar el funcionamiento del while y el intercalar sql es que en los campos de formulario me sale la expresion array y no el valor de la variable, os pongo el trocito de código de la condición a ver si me podeis decir cual es mi garrafal fallo psrs no recoger el valor del campo de la base de datos, gracias anticipadas
<?
$conexion = mysql_connect("localhost", "manolito", "gafotas");
if (! $conexion)
{
echo "<h2 align=\'center\'>ERROR: Imposible establecer conexión con el servidor</h2>";
exit;
}
mysql_select_db("almacen", $conexion);

$ref = $HTTP_POST_VARS[\'referencia\'];
$mensaje = "ARTICULO INEXIXTENTE";

$result = mysql_query("SELECT referencia FROM articulos", $conexion);
$row = (mysql_fetch_array ($result));
while ($ref = $row)
{
$description = mysql_query("SELECT descripcion FROM articulos", $conexion);
$description1 = (mysql_fetch_array ($description));
$family = mysql_query("SELECT familia FROM articulos", $conexion);
$family1 = (mysql_fetch_array ($family));
$subfamily = mysql_query("SELECT subfamilia FROM articulos", $conexion);
$subfamily1 = (mysql_fetch_array ($subfamily));
}
while ($ref != $row)
{echo $mensaje;}

?>
<HTML>



displeisisfactap
19 de Noviembre del 2003
Si lo he entendido todo bien, esto podría funcionar. Si algo va mal hazmelo saber.

<?php

$conexion = mysql_connect("localhost", "manolito", "gafotas");
$basededatos = mysql_select_db("almacen", $conexion);

if ( (!$conexion) || (!$basededatos) ) {

if (!$conexion) {

echo ("<h2 align="center">ERROR: Imposible establecer conexi&oacute;n con el servidor</h2>");

} else if (!$basededatos) {

echo ("<h2 align="center">ERROR: Imposible establecer conexi&oacute;n con la base de datos</h2>");
}

exit;
}

$ref = $_POST['referencia'];

$query = "SELECT * FROM articulos WHERE (referencia = '$ref')";
$result = mysql_query($query, $conexion);

if (!$result) {

echo ("<h2 align="center">ERROR: Imposible extraer datos de la base de datos</h2>");
exit;
}

$num_rows = mysql_num_rows($result);

if ($num_rows == '1') {

$row = (mysql_fetch_array($result));

$description = $row['descripcion'];
$family = $row['familia'];
$subfamily = $row['subfamilia'];

echo ("<p><b>Referencia:</b> ".$ref."<br>
<b>Descripci&oacute;n:</b> ".$description."<br>
<b>Familia:</b> ".$family."<br>
<b>Subfamilia:</b> ".$subfamily."</p>");
} else {

echo ("<h2 align="center">ERROR: Art&iacute;culo Inexistente o demasiados art&iacute;culos con la misma referencia</h2>");
}

?>

javier
19 de Noviembre del 2003
Muchasssssssssssssss gracias, por tu ayuda, ahora ya solo me queda el entender un select complejo con una suma del valor de un campo es para hacer un inventario, creo me lio con los select distinct, si te parece bien pongo un post nuevo en el foro a ver si me puedes explicar donde me lio, muuuuuuuuuuuuuuuuchas gracias