no me salen datos, ayuda por favooor
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>
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>
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ón con el servidor</h2>");
} else if (!$basededatos) {
echo ("<h2 align="center">ERROR: Imposible establecer conexió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ón:</b> ".$description."<br>
<b>Familia:</b> ".$family."<br>
<b>Subfamilia:</b> ".$subfamily."</p>");
} else {
echo ("<h2 align="center">ERROR: Artículo Inexistente o demasiados artículos con la misma referencia</h2>");
}
?>
<?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ón con el servidor</h2>");
} else if (!$basededatos) {
echo ("<h2 align="center">ERROR: Imposible establecer conexió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ón:</b> ".$description."<br>
<b>Familia:</b> ".$family."<br>
<b>Subfamilia:</b> ".$subfamily."</p>");
} else {
echo ("<h2 align="center">ERROR: Artículo Inexistente o demasiados artículos con la misma referencia</h2>");
}
?>
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