Foros del Web » Programando para Internet » PHP »

Numero de Datos Aleatorios desde BD (sin repetir registros)

Estas en el tema de Numero de Datos Aleatorios desde BD (sin repetir registros) en el foro de PHP en Foros del Web. Hola Amigos foreros, pues la cuestion es la siguiente, eh buscado y tratado de hacer un codigo, pero simplemente no pude =( miren, lo voy ...
  #1 (permalink)  
Antiguo 05/03/2008, 21:15
Avatar de MoDoRrO  
Fecha de Ingreso: septiembre-2005
Ubicación: Php+Flash+AS
Mensajes: 1.072
Antigüedad: 18 años, 7 meses
Puntos: 12
Información Numero de Datos Aleatorios desde BD (sin repetir registros)

Hola Amigos foreros, pues la cuestion es la siguiente, eh buscado y tratado de hacer un codigo, pero simplemente no pude =(
miren, lo voy a explicar entendible, y haber si me pueden ayudar con algo de solucion (no digo todo por que me veria muy gandaya)

tengo 2 tablas en una base de Datos, una llamada EMPRESAS y otra CAMIONES
en la tabla EMPRESAS tengo a:

HJI
HMV
HCS

3 registros
y en la tabla CAMIONES tengo a
camion1
camion2
camion3
camion4
camion5
camion6

entonces, la cuestion es esta, tengo que extraer 2 registros por cada empresa, pero tienen que ser aleatorios, por ejemplo, el camion7 puede quedar en HCS y el camion1 en HMV

pero, no tienen que repetirse los registros, ejemplo
camion1 esta en HCS
camion3 esta en HMV
camion1 esta en HJI
no tienen que repetirse los camiones

intente hacer unas cosas, pero la verdad, aùn soy malo en esto del PHP

=(
  #2 (permalink)  
Antiguo 05/03/2008, 21:40
Avatar de MoDoRrO  
Fecha de Ingreso: septiembre-2005
Ubicación: Php+Flash+AS
Mensajes: 1.072
Antigüedad: 18 años, 7 meses
Puntos: 12
Re: Numero de Datos Aleatorios desde BD (sin repetir registros)

miren, ahorita hize algo y si me esta gustando, ahorita no estoy usando BD solo arrays, pero sera facil introducirla, miren como voy

Código PHP:

$camion
[1]="Miguel Angel Marquez Sanchez";
$camion[2]="Maria Guadalupe Navarro Serrano";
$camion[3]="Miguel Adrian Camarillo";
$camion[4]="Diego Hernandez Perez";
$camion[5]="Jose Luis Perales";
$camion[6]="David Delgado Soto";
$camion[7]="Andres Lara";
$camion[8]="Karla Herrera";
$camion[9]="Alberto Garcia";
$camion[10]="Jesus Lopez";
$camion[11]="Axel Hernandez";
$camion[12]="Martin Marquez";
$camion[13]="Manuel Marquez";

$cuantos_emmsa="3";
echo
"<b>EMMSA</b><br>";
$c_emmsa=0;
while(
$c_emmsa $cuantos_emmsa){
$c=rand(1,13);
if(
$camion[$c]){
echo
"<em>$camion[$c]</em><br>";
unset(
$camion[$c]);
$c_emmsa++;
}else{
#
}
}

echo
"<br><br><br>";

$cuantos_gluyas="4";
echo
"<b>GLUYAS</b><br>";
$c_gluyas=0;
while(
$c_gluyas $cuantos_gluyas){
$c=rand(1,13);
if(
$camion[$c]){
echo
"<em>$camion[$c]</em><br>";
unset(
$camion[$c]);
$c_gluyas++;
}else{
#
}
}echo
"<br><br><br>";

$cuantos_fresno="3";
echo
"<b>FRESNO</b><br>";
$c_fresno=0;
while(
$c_fresno $cuantos_fresno){
$c=rand(1,13);
if(
$camion[$c]){
echo
"<em>$camion[$c]</em><br>";
unset(
$camion[$c]);
$c_fresno++;
}else{
#
}

me regresa los registros que pido por empresa, y sin repetir camioneros
  #3 (permalink)  
Antiguo 05/03/2008, 21:54
Avatar de ranceis  
Fecha de Ingreso: septiembre-2006
Mensajes: 42
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Numero de Datos Aleatorios desde BD (sin repetir registros)

hey aqui un ejemplo que hice con manejo de bases de datos.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<?php

require "Connections/conexion.php"; //establesco conexion

$aleatorio1=rand(1,3); //aqui declaro 2 randoms 2 numeros aleatoreos

$aleatorio2=rand(1,3);
$max=3;
if($aleatorio1==$aleatorio2){ //aca nomas para que no se repita mucho el aleatorio.. ya tu varias o lo quitas
$aleatorio2=$aleatorio2+1;

if($aleatorio2<$max){
$aleatorio2=$aleatorio2-1;
}

}


$sqlC=mysql_query("SELECT * FROM prueba.camiones WHERE idCAMIONES='$aleatorio1'"); //primera consulta de camiones fijate que uso el aleatorio 1 para hacer que me tire un numero al azar

$rc=mysql_fetch_array($sqlC);

$camiones=$rc['camiones']; //variable que contiene el resultado de mi consulta

$sqlC=mysql_query("SELECT * FROM prueba.empresas WHERE idEMPRESAS=$aleatorio2"); //mismo que empresas

$rc=mysql_fetch_array($sqlC);

$empresas=$rc['empresas'];



?>
<table width="200" border="1"> <!--aqui tabla para pintar los 2 resultados-->
<tr>
<td><?php echo $camiones; ?>&nbsp;</td>
<td><?php echo $empresas; ?>&nbsp;</td>
</tr>
</table>
</body>
</html>


Espero y te sirva.. xD
  #4 (permalink)  
Antiguo 05/03/2008, 22:33
Avatar de MoDoRrO  
Fecha de Ingreso: septiembre-2005
Ubicación: Php+Flash+AS
Mensajes: 1.072
Antigüedad: 18 años, 7 meses
Puntos: 12
Re: Numero de Datos Aleatorios desde BD (sin repetir registros)

ok, buen ejemplo, gracias por contestar, pero, voy a manejar 150 camiones, lo mas seguro es que un camion se repita en varias empresas

:S
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 00:52.