Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO problema con codigo

Estas en el tema de problema con codigo en el foro de PHP en Foros del Web. Buenos dias! Cuando utilizo este codigo los registros de mi base de datos se repiten. Podrían decirme como evito que los registros se repitan. Muchas ...
  #1 (permalink)  
Antiguo 08/01/2014, 08:16
 
Fecha de Ingreso: enero-2014
Ubicación: USA
Mensajes: 50
Antigüedad: 10 años, 3 meses
Puntos: 0
problema con codigo

Buenos dias!


Cuando utilizo este codigo los registros de mi base de datos se repiten. Podrían decirme como evito que los registros se repitan. Muchas gracias! Adjunto codigo.




<html>
<head>

</head>

<body>

<?php

$con = mysql_connect("localhost", "andres","password" );
if (!$con) {
die ("Cannont connect:" . mysql_error ());
}

mysql_select_db("cte",$con);
$sql = "SELECT cliente,cedula,producto,marca FROM clientes,producto";
$myData = mysql_query ($sql,$con);
echo "<table border=1>
<tr>
<th>Cliente</th>
<th>Cedula</th>
<th>Producto</th>
<th>Marca</th>
</tr>";

while ($record = mysql_fetch_array($myData)){

echo "<tr>";
echo "<td>" . $record['cliente'] . "</td>";
echo "<td>" . $record['cedula'] . "</td>";
echo "<td>" . $record['producto'] . "</td>";
echo "<td>" . $record['marca'] . "</td>";
}

echo "</table>";


die(mysql_error());

mysql_close ($con);
?>

?>
</body>
</html>
  #2 (permalink)  
Antiguo 08/01/2014, 08:28
 
Fecha de Ingreso: mayo-2009
Mensajes: 166
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: problema con codigo

Prueba asi:

Corta el php y abrelo aquí:
<?php
while ($record = mysql_fetch_array($myData)){
?>
<tr>
<td> <?php $record['cliente'] ?> </td>
<td><?php $record['cedula'] ?> </td>
<td><?php $record['producto'] ?> </td>
<td><?php $record['marca'] ?> </td>
</tr>

<?php
} //Cierra el rulo

echo "</table>";
?>

Lo que hacemos es repetir todos los campos.

Espero se entienda
  #3 (permalink)  
Antiguo 08/01/2014, 08:48
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: problema con codigo

hola, que quieres mostrar? explica a detalle que registros quieres obtener de tus tablas.

Para que solo veas un registro, puedes agregar limit a tu consulta; no creo que quieras eso.

$sql = "SELECT cliente,cedula,producto,marca FROM clientes,producto limit 1";

Saludos
  #4 (permalink)  
Antiguo 08/01/2014, 09:46
 
Fecha de Ingreso: mayo-2009
Mensajes: 166
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: problema con codigo

Creo que lo que le pasa es que le repite los parámetros. Por lo visto es una lista...
  #5 (permalink)  
Antiguo 08/01/2014, 12:01
 
Fecha de Ingreso: enero-2014
Ubicación: USA
Mensajes: 50
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: problema con codigo

Hola! Gracias por sus respuestas! Esto es lo que me aparece cuando hago la consulta. Los nombres se repiten tres veces y varian segun el numero de registros que hayan....


Cliente Cedula Producto Marca
CARLOS ANDRES BALANT 2147483647 licuadora Yonbol
Jhonatan Barbetti 563849920 licuadora Yonbol
Rafael Perez 829384994 licuadora Yonbol
Roberto Carlos 893049202 licuadora Yonbol
CARLOS ANDRES BALANT 2147483647 Ventilado Sankey
Jhonatan Barbetti 563849920 Ventilado Sankey
Rafael Perez 829384994 Ventilado Sankey
Roberto Carlos 893049202 Ventilado Sankey
CARLOS ANDRES BALANT 2147483647 Licuadora Oster
Jhonatan Barbetti 563849920 Licuadora Oster
Rafael Perez 829384994 Licuadora Oster
Roberto Carlos 893049202 Licuadora Oster
CARLOS ANDRES BALANT 2147483647 computador Sankey
Jhonatan Barbetti 563849920 computador Sankey
Rafael Perez 829384994 computador Sankey
Roberto Carlos
  #6 (permalink)  
Antiguo 08/01/2014, 12:05
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: problema con codigo

Es que con esta consulta:
Código SQL:
Ver original
  1. SELECT cliente, cedula, producto, marca
  2. FROM clientes, producto
estás creando un producto cartesiano (ver link). Si no pones cual es la relación entre las dos tablas, y no hay campos relacionados con el mismo nombre, generará un producto de M x N con todos los registros.
Suponiendo que hay una relación entre ambas tablas podría ser algo como:
Código SQL:
Ver original
  1. SELECT cliente, cedula, producto, marca
  2. FROM clientes C INNER JOIN producto P ON C.producto_id = P.producto_id
Ahora bien, si no existe una relación entre ambas tablas, te esta faltando una tabla adicional, o esa relación tiene que tomarse de otra parte (las compras, por ejemplo).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 08/01/2014, 12:24
 
Fecha de Ingreso: enero-2014
Ubicación: USA
Mensajes: 50
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: problema con codigo

Hola gnzsoloyo! Tenes la razon completamente!! Si tengo la relacion, serial, hice el cambio en la consulta y funcionó a la perfección. Muchisimas gracias por tu valiosa ayuda.
  #8 (permalink)  
Antiguo 08/01/2014, 12:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: problema con codigo

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: html, mysql, registro, select, sql
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 06:22.