Hola XbX
si, probe usando GROUP_CONCAT y me dio lo que queria en solo dos columnas, pero cuando quise usarlo para un formulario no sabia como separara la columna titles
Código PHP:
SELECT work_name, GROUP_CONCAT(format_title SEPARATOR ' | ') AS titles
FROM works, formats
WHERE work_customer_id=2 AND
work_id = format_work_id AND
(format_print >0 OR format_search >0 OR format_cant >0)
GROUP BY work_name
ORDER BY format_work_id AND format_order
Código HTML:
|--------------------------------------------------|
| work_name | titles |
|-----------+--------------------------------------|
| doc3 | Cod. Compañia | Numeracion | Control |
| doc4 | Cantidad |
| doc8 | Cod. Compañia | Numeracion | Control |
| doc9 | Cod. Compañia | Numeracion | Control |
| doc17 | Cod. Compañia | Numeracion | Control |
| doc23 | Cod. Compañia | Control |
|--------------------------------------------------|
Por si a alguien le pueda servir les envio el codigo que use, imagino que esta para depurarlo pero ahorita me conformo con que funcione, despues lo pondre lindo... jaja.
Código PHP:
$query="SELECT * FROM works, formats WHERE work_customer_id=".$_SESSION['k_customerid']." AND work_id=format_work_id AND (format_print>0 OR format_search>0 OR format_cant>0) ORDER BY format_work_id AND format_order";
echo " <h3>Ordenes de Impresión</h3>\n";
$num_f_d=mysql_query("SELECT a.work_id, a.work_name, count(format_id) FROM (".$query.") a GROUP BY a.work_id");
$formats=mysql_query($query);
$k=0;
echo " <P align='center'><FORM name='formorder' action='orden_send.php' method='post'>
<table align='center' cellspacing='2' cellpadding='2' border='0'>\n";
for ($i=0;$i<mysql_num_rows($num_f_d);$i++){
$wid=mysql_result($num_f_d,$i,"work_id");
$wname=mysql_result($num_f_d,$i,"work_name");
$fxd=mysql_result($num_f_d,$i,2);
echo " <tr align='center' valign='top'>
<td>".$wname.":</td>
<td bgcolor='#DDDDDD'>Seleccionar<br><input type='checkbox' name='workid[".$i."]' value='".$i."'><input type='hidden' name='workid[".$i."]' value='".$wid."'><input type='hidden' name='workname[".$i."]' value='".$wname."'></td>\n";
for ($j=0;$j<$fxd;$j++){
$fid=mysql_result($formats,$k,'format_id');
$ftitle=mysql_result($formats,$k,'format_title');
$fdigits=mysql_result($formats,$k,'format_digits');
$fdefault=mysql_result($formats,$k,'format_default');
$fprint=mysql_result($formats,$k,'format_print');
$fsearch=mysql_result($formats,$k,'format_search');
$fcant=mysql_result($formats,$k,'format_cant');
if($fprint!=0){ echo " <td bgcolor='#DDDDDD'>".$ftitle."<br>".$fdefault."</td>\n";}
if($fsearch!=0){
echo " <td bgcolor='#DDDDDD'><input type='hidden' name='formatid[".$i."]' value='".$fid."'><input type='hidden' name='formattitle[".$i."]' value='".$ftitle."'>".$ftitle." Inicial<br><input type='text' name='campoi[".$i."]' size='".$fdigits."' maxlength='".$fdigits."'></td>\n";
echo " <td bgcolor='#DDDDDD'>".$ftitle." Final<br><input type='text' name='campof[".$i."]' size='".$fdigits."' maxlength='".$fdigits."'></td>\n";
}
if($fcant!=0){
echo " <td bgcolor='#DDDDDD'><input type='hidden' name='formatid[]' value='".$fid."'><input type='hidden' name='formattitle[]' value='".$ftitle."'>".$ftitle."<br><input type='text' name='cant[".$i."]' size='".$fdigits."' maxlength='".$fdigits."'></td>\n";
}
$k++;
}
echo " </tr>\n";
}
echo " </table><input type='submit' value='Enviar'>
</FORM></P>\n";
mysql_free_result($num_f_d);
mysql_free_result($formats);
Pero ahora tengo
otro problema con el programa en "orden_send.php". ¿Como hago para recibir la informacion de solamente las opciones que tienen el checkbox? y poder hacer un codigo para insertar la informacion en una tabla:
Código HTML:
|-------------------------------------------------------------------------|
| work_id | work_name | format_id | format_title | campoi | campof | cant |
|-------------------------------------------------------------------------|
La verdad que estoy mareado con tantas cosas que he probado y nada me ha resultado. Muchas gracias de antemano.