Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/08/2004, 08:55
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Podrías resolvelo de várias formas ..

Podrías tener un sólo campo de texto y que el usuario ponga ahí los ID separados por espacio o comas ...

Así en PHP los tomarías bajo una variable cualquiera tipo string. En tu consulta SQL podrías aplicar:
$sql="SELECT * FROM tabla WHERE id IN (".$_POST['ids'].")";

Si quieres tener un campo de tu formulario para cada "id" .. usa un bucle for para componer esos N <input> para tu formulario.

De tu formulario donde pidas el total de campos a generar .. lo usas para tu for() (bucle) para definir hasta que Nº ha de contar ...

El detalle para que PHP luego PHP tome esos valores de tus "id" (campos generados del formulario dinámicamente) es que uses nombre tipo "array": name="nose[]" (con el [])

Código PHP:
<form method="post" action="procesar.php">
<?
for ($i=0$i<$_POST['total_ids']; $i++){
   echo 
$i."- <input type=\"text\" name=\"ids[]\"><br>\n";
}
?>
</form>
así en PHP (en el script de proceso de ese formulario) recibiras un array en $_POST['ids']

Podrías usar el mismo SQL "IN (lista de valores) para hacer tu SELECT .. pero para ello te hace falta aplicar "inplode()" par convertir tu array en una cadena (string). Ejemplo:

Código PHP:
$lista_ids=inplode(',',$_POST['ids']);
$sql="SELECT * FROM tabla WHERE id IN (".$lista_ids.")"
Un saludo,