Comunidad de diseño web y desarrollo en internet online

Como puedo generar varias consultas MySQL en PHP ?

Citar            
MensajeEscrito el 26 Ago 2009 11:03 pm
Les comento el problema que quiero resolver y ademas que espero me ayuden:

Tengo una base de datos donde la tabla tiene dos campos "id" y "Nombres" (es un ejemplo) y en un campo de texto necesito insertar varios nombres separados por una coma "," es decir asi: Juan,Ricardo,Pablo,Jorge lo que necesito hacer es crear una consulta y extraer la informacion de cada nombre, una solucion primitiva seria usar un bucle o algo como esto:

Código PHP :

    $nombres = "Juan,Ricardo,Pablo,Jorge";

    $num = split(",",$nombres);

    $contador = count($num);
    
    for($i=0;$i<$contador;$i++){
      $sql = "SELECT * FROM nombres WHERE Nombres = '$num[$i]'";
    }


Esta informacion la uso para generar un archivo CSV... Alguna idea de como lograr esto sin usar un bucle?... o de que manera podria hacer optima mi consulta?... Gracias ;)

Por logoys

Claber

104 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Ago 2009 11:26 pm
Con el ciclo para generar la sentencia(concatenando), pero en lugar de generar varias consultas solo realizo una:

Código PHP :

$nombres = "Juan,Ricardo,Pablo,Jorge"; 
$num = split(",", $nombres); 
$contador = count($num); 

if ($contador > 0)
{
   $sql = "SELECT * FROM nombres WHERE Nombres = '$num[0]'";

   for($i = 1; $i < $contador; $i++)
     $sql .= " OR Nombres = '$num[$i]'"; 
}

Por shakka

Claber

189 de clabLevel

2 tutoriales

Genero:Masculino  

mozilla
Citar            
MensajeEscrito el 27 Ago 2009 03:10 am
Gracias, esa solucion ya la habia contemplado jejeje usarè esa que me comentas muchas gracias ;)

Por logoys

Claber

104 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Ago 2009 06:50 am

Código PHP :

<?php
        $nombres = "Juan,Ricardo,Pablo's,Jorge"; 
   $num = explode(",",$nombres); 
   $num = array_map("addslashes", $num);
   $nombres = implode("','", $num);
   $nombres = "'$nombres'";
   $sql = "SELECT * FROM nombres WHERE Nombre IN ($nombres)"; 
   echo $sql;
?>

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 29 Ago 2009 05:45 pm
maikel te ha dado la mejor solucion a tu problema no busques mas porque esa es :-D

Por talcual

686 de clabLevel



 

Colombia

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.