Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/09/2003, 21:11
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si tienes ese campo con esos datos separados por comas .. puedes usar dos alternativas ..

A) sólo PHP:

Código PHP:
$ids_caracteristicas=explode(','$row['caracteristicas']); 
y .. usando un bucle foreach() ya que el explode te entrega un array .. lo recorres y ejecutas tus consultas (del tipo que sean )

Código PHP:
foreach ($ids_caracteristicas as $id_caracteristica){

$sql="SELECT o .. UPDATE .. o DELETE ... ... WHERE nose='$id_caracteristica'";

mysql_query($sql);


B) usando SQL y PHP

En mysql tienes el (no sé como se llama si operador o función .. o ..): IN (lista de valores separados por comas) ..

Y lo puedes usar en SELECT .. DELTE o UPDATE. Un ejemplo:

Código PHP:
$sql="DELTE FROM tabla WHER campo IN (".row['caracteristicas'].")"

Y .. como consejo .. Sobre todo a nivel de posibilidades de hacer cosultas más variadas y fáciles a eso datos que guardas ..

Esos ID de caracteristicas tendrían que ir en "UN registro por ID" .. y relacinado con el artíclo en relación 1->N (1 artículo .. puede tener várias descripciones) .. Este es uno de los conceptos de "normalización" de base de datos ..

Tus tablas tendrían que ser algo así:

Artículos tabla ..
id_articulo
descripcion
otros_campos

Descripción tabla
id_descripcion
id_articulo
descripcion_texto
otros_campos

(los campos en negrita son las claves foráneas ..)

Pero .. si tienes descripciones (X fijas o variables) y artículos .. necesitarias de una 3ª tabla para hacer una realación tipo N -> N (varios artículos pueden tener varias descripciones)

Esa tercera tabla guardará tus ID del articulo y la ID de la descripción ..

ID_relacion
id_articulo
id_relacion

y tus tablas anteriores .. quitando el id_artículo en la tabla de descripciones ...

Las consultas que requieras hacer que usen várias tablas sólo tienes que llamar a tus campos vía:

nombretablaquepertenece.nombrecampo

Y para establecer la "integridad referencial" entre esos datos .. usa condicionales tipo:

WHERE tabla_articulos.id_articulo=tabla_descripciones.id _articulo AND (si necesitas más condiciones .. ejemplo AND tabla_articulos.id_articulo='nº' ...)

Como veras .. el tema del "SQL" y modelo de datos en un tema interesante que debes de evaluar y aprender si corresponde.

Con ese tipo de estructuras de tus BD "normalizadas" puedes hacer infinidad de "consultas" por los más variados temas .. Ejemplo .. agrupar artículos que tengan la caracteristica X ... (si usas tu campo "string" que contiene esos IDs .. una consulta de ese tipo se complica y se ralentiza enorrrmemente el proceso ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.