elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: [1]
1  Programación / Bases de Datos / Consulta a Entidades Debiles en: 14 Abril 2012, 17:38 pm
Tratare de explicar completo que es lo que quiero:

Tengo 4 tablas enlazadas entre si con las foregein key.
En la 1ra tabla [Libro] (id, titulo, descripcion, id_categoria)
En la 2da tabla [Categoria] (id, categoria)
En la 3ra tabla [Autor_Libro] (id_autor,id_libro)
En la 4ta tabla [Autor] (id, nombre, apellido)

Entonces haciendo un query normal con Inner Join me arroja los resultados pero mas o menos asi:
IDTituloDescripcionCategoriaAutor
1El libro08/04/2012ComediaJuan
1El libro08/04/2012ComediaPedro
1El libro08/04/2012ComediaMaria
2El libro208/04/2012ComediaPedro
2El libro208/04/2012ComediaMaria

Si a la consulta le pongo un GROUP BY libro.id

IDTituloDescripcionCategoriaAutor
1El libro08/04/2012ComediaJuan
2El libro208/04/2012ComediaMaria

Lo que quiero es alguna forma de agrupar los autores por el libro, osea que me muestre asi

IDTituloDescripcionCategoriaAutor
1El libro08/04/2012ComediaJuan, Pedro, Maria
2El libro208/04/2012ComediaPedro, Maria

lo hice con un query dentro del query, pero supongo que es incorrecto porq solo me muestra el primer resultado, osea el ID 1.
Como deberia hacer la consulta?

PD: No puedo colocar en libro algo como un id_autor, ya que el numero de autores para un libro no esta definido
2  Programación / PHP / Re: [Consulta] Query a entidades debiles en: 10 Abril 2012, 00:20 am
No mucho, puedo esperarme estos dias aun.. Tranquilo
3  Programación / PHP / Re: [Consulta] Query a entidades debiles en: 9 Abril 2012, 19:39 pm
Ok si, pero acuerdate que para un libro pueden haber varios autores. un numero indefinido de ellos. por eso es la tabla autor_a_libro
4  Programación / PHP / [Consulta] Query a entidades debiles en: 8 Abril 2012, 20:32 pm
Tratare de explicar completo que es lo que quiero:

Tengo 4 tablas enlazadas entre si con las foregein key.
En la 1ra tabla [Libro] (id, titulo, descripcion, id_categoria)
En la 2da tabla [Categoria] (id, categoria)
En la 3ra tabla [Autor_Libro] (id_autor,id_libro)
En la 4ta tabla [Autor] (id, nombre, apellido)

Entonces haciendo un query normal con Inner Join me arroja los resultados pero mas o menos asi:
IDTituloDescripcionCategoriaAutor
1El libro08/04/2012ComediaJuan
1El libro08/04/2012ComediaPedro
1El libro08/04/2012ComediaMaria
2El libro208/04/2012ComediaPedro
2El libro208/04/2012ComediaMaria

Si a la consulta le pongo un GROUP BY libro.id

IDTituloDescripcionCategoriaAutor
1El libro08/04/2012ComediaJuan
2El libro208/04/2012ComediaMaria

Lo que quiero es alguna forma de agrupar los autores por el libro, osea que me muestre asi

IDTituloDescripcionCategoriaAutor
1El libro08/04/2012ComediaJuan, Pedro, Maria
2El libro208/04/2012ComediaPedro, Maria

lo hice con un query dentro del query, pero supongo que es incorrecto porq solo me muestra el primer resultado, osea el ID 1.
Como deberia hacer la consulta?
5  Programación / PHP / Re: Error en al insertar en: 8 Abril 2012, 20:14 pm
La funcion $link=Conectarse();

viene del conect.php

function Conectarse()
{
     $db_host="****";
     $db_nombre="****";
     $db_user="****";
     $db_pass="*****";

     $link=mysql_connect($db_host,$db_user,$db_pass) or die ("error");
     mysq_select_db($db_nombre,$link);
     
     return $link;
}
6  Programación / PHP / Re: Error en al insertar en: 6 Abril 2012, 21:28 pm
Solucione el error rehaciendo todo el codigo, muchas gracias por la ayuda, sin embargo sigo sin entender que paso, porque las instrucciones son identicas a las que tenia, solo movi un poquito y cambie algunos nombres de variables, sin embargo en teoria es lo mismo.

Ah por cierto Runex, el comando que me diste no funciono, daba un error Unknown field, si no me equivoco
7  Programación / PHP / Re: Error en al insertar en: 6 Abril 2012, 19:40 pm
el formulario:

Código:
<legend>Ingresar nuevo libro</legend>
     <form action="ingresos/libros.php" method="POST" enctype="multipart/form-data">
      <table class="nostyle">
              <input type="hidden" name="action" value="nuevo"/>
                <tr>
        <td style="width:70px;">Foto: </td>
<td><input type="file" name="foto" class="input-text"/></td>
</tr>
                <tr>
<td style="width:70px;">Titulo: </td>
<td><input type="text" name="titulo" class="input-text"/></td>
</tr>
                <tr>
<td style="width:70px;">Descripcion: </td>
                        <td><textarea name="descripcion" cols="50" rows="10"></textarea></td>
</tr>
                <tr>
<td style="width:70px;">Categoria: </td>
<td>
                        <select name="categoria">
                        <option value="">------------</option>
                        <?php
                                 include('conect.php');
                                 $link=Conectarse();
                                 $query = mysql_query("SELECT * FROM categoria");
                                 while ($row = mysql_fetch_array($query))
                                 { ?>
                                      <option value="<?php echo $row['id']; ?>"><?php echo $row['descripcion']; ?></option>
                                <?php } ?>
                       </select>
                       </td>
</tr>
                <tr>
                        <td style="width:70px;">Autor(es): </td>
                        <td><input name="btnCreate" type="button" value="+" onClick="javascript:fncCreateElement();">
                               <input name="btnDelete" type="button" value="-" onclick="javascript:fncDeleteElement();"><br>
                               <div id="autores"></div>
                               <input name="conteo" id="hdnLine" type="hidden" value="0">
                        </td>
                 </tr>
                 <tr>
                        <td style="width:70px;">Archivo: </td>
                        <td>
                        <input type="file" name="archivo" class="input-text"/>
                         </td>
                 </tr>
<tr>
                <td colspan="2" class="t-right"><input type="submit" class="input-submit" value="Nuevo" /></td>
</tr>
</table>
</form>

y el php
Código:
<?php include('../conect.php');
       $link=Conectarse();
       $action=$_POST['action'];
       $id=$_POST['id'];
       
       $foto=strtolower($_FILES['foto']['name']);
       $nom=$_POST['nombre'];
       $des=$_POST['descripcion'];
       $arc=$_FILES['archivo']['name'];
       $cat=(int)$_POST['categoria'];
       $i=$_POST['conteo'];
       for($j=0;$j<=$i;$j++)
       {
           $id_aut[$j]=$_POST['autor'.$j];
       }
       $pref=substr(md5(uniqid(rand())),0,15);
       $trozos=explode(".",$arc);
       $ext_arc=end($trozos);
       $trozos=explode(".",$foto);
       $ext_foto=end($trozos);
       $des_arc="uploads/".$pref.".".$ext_arc;
       $des_foto="uploads/".$pref.".".$ext_foto;
       $des_1="modulos/ingresos/".$des_arc;
       $des_2="modulos/ingresos/".$des_foto;
       $query="insert into `libro` (foto,titulo,descripcion,id_categoria,archivo) values ('".$des_2."','".$nom."','".$des."',$cat,'".$des_1."')";
                   
       if($action=='nuevo')
       {
           if ($arc!= "")
            {
                    // guardamos el archivo a la carpeta files
                   
                    if (copy($_FILES['archivo']['tmp_name'],$des_arc) and copy($_FILES['foto']['tmp_name'],$des_foto))
                    {
                        include('../conect.php');
                        $link=Conectarse();
                        mysql_query($query);
                        $id= mysql_insert_id($link);
                        for($j=0;$j<=$i;$j++)
                        {
                            mysql_query("insert into autor_a_libro values ('$id','$id_aut[$j]')",$link);
                        }
                    }
            }
           
           echo "<script>location.href='../libros.php?do=nuevo'</script>";
       } ?>
8  Programación / PHP / Error en al insertar en: 6 Abril 2012, 19:05 pm
Les voy a explicar mi problema lo mas detallado posible:

tengo una instruccion:
Citar
$query="insert into libro (foto,titulo,descripcion,id_categoria,archivo) values ('$des_2','$nom','$des','$cat','$des_1')";

Cuando le doy el echo me muestra bien:
Citar
insert into libro (foto,titulo,descripcion,id_categoria,archivo) values ('foto.png,'Titulo','Descripcion','1','documento.pdf)

[No pongo los valores reales porq no son importantes, si me muestra lo que le mando]

el detalle esta en cuando ejecuto mysql_query($query) or die (mysq_error()); no me da nada, he intentado incluso mysql_query($query,$link) or die (mysq_error()); y lo mismo
El archivo de conexion a la base de datos esta bien porque lo utilizo en otros formularios y si me ingresa correctamente, el detalle es con este.

Al principio lo tenia directo
Citar
mysql_query("insert into libro (foto,titulo,descripcion,id_categoria,archivo) values ('$des_2','$nom','$des','$cat','$des_1')")
lo cambie por:
Citar
mysql_query("insert into libro (foto,titulo,descripcion,id_categoria,archivo) values ('$des_2','$nom','$des','$cat','$des_1')",$link)

le puse el ';' despues de las comillas dobles y aun nada

no se que mas pueda hacer, ah un amigo me dijo que lo pusiera asi:
Citar
"insert into libro (foto,titulo,descripcion,id_categoria,archivo) values ('".$des_2."','".$nom."','".$des."','".$cat."','".$des_1."')";

Y aun nada

Detalles:
 SO: Ubuntu 11.10
 PHP: 5.3.6-13ubuntu3.6
 MySQL: 5.1.61
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines