Foros del Web » Programando para Internet » PHP »

Necesito ayuda por favor!!

Estas en el tema de Necesito ayuda por favor!! en el foro de PHP en Foros del Web. Hola Estoy intentando crear un codigo para crear categorias y subcategorias para una galeria de imagen. Hasta ahora he podido crear las carpetas que seran ...
  #1 (permalink)  
Antiguo 11/12/2007, 02:48
 
Fecha de Ingreso: noviembre-2002
Ubicación: Suecia
Mensajes: 253
Antigüedad: 21 años, 5 meses
Puntos: 2
Necesito ayuda por favor!!

Hola

Estoy intentando crear un codigo para crear categorias y subcategorias para una galeria de imagen. Hasta ahora he podido crear las carpetas que seran las categorias y las subcarpetas que seran las subcategorias, al mismo tiempo puedo guardar los nombres de las carpetas en una base de datos que tiene una tabla para las categorias y otra para las subcategorias. Ambas tablas tienen un index. La tabla de las categorias (category) tiene las columnas catId y catname, y la tabla de las subactegorias (subcat) tiene las columnas subcatId, subcatname y catId. Esta ultima (catId) es la misma que la que existe en la tabla category solo que no es autoincrementable en la tabla subcat.

El problema esta en que al crear una categoria se crea una indice para esta categoria y lo que intento hacer es que al crear una subcategoria dentro de una categoria el indice de la categoria se grabe en ambas columnas (catId de categorias y de subcategorias) asi puedo relacionar una subcategoria con una categoria usando el catId. Pero al ejecutar todo el catId no se graba en la tabla subcategorias y siempre esta en 0.


Les pongo el codigo completo por que no se donde esta el problema. Espero que me puedan ayudar. El codigo es bastante simple, no soy muy experimentado en php.

Código PHP:
<?php
    
include '../constant/connect.php';
    
$path "../bilder/";
    
$catname $_POST['kats'];
    
$folder $_POST['underkat'];
    
$name $_POST['undercat'];
    if(isset(
$_POST['create'])){
        
        
$query=mysql_query("SELECT * FROM subcat");
        
$row=mysql_fetch_array($query);
        if(
$row['subcatname'] != $catname){
            
mkdir($path "/" $catname "/" $folder0777TRUE);
            

                       
/* AQUI INTENTO OBTENER EL CATID DE LA CATEGORIA $CATNAME */
            
$catid=mysql_query("SELECT catId FROM category WHERE catname = '$catname'");

                      
/* Y AQUI INTENTO GUARDAR EN LA TABLA SUBCAT EL NOMBRE DE LA SUBCATEGORIA Y EL CATID OBTENIDO*/
                      /* ANTERIORMENTE QUE SUPONGO DEBERIA ESTAR EN $CATID */
            
$sql=mysql_query("INSERT INTO subcat(subcatname, catId) VALUES('$name', '$catid')") or die(mysql_error());
        }
        else {
            
$message "Kategori finns redan";

        }
    }
?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
    <head>
        <link type="text/css" rel="stylesheet" href="../style/style.css" />
        <title></title>
    </head>
    <body>
        <div id="wrapp">
            <div id="top">
                <div id="topmneu">
                    
                </div>
            </div>
            <div id="left">
                <p>Admin menu</p>
                <a class="topLink" href="createKat.php">Skapa Huvudkategori</a><br />
                <a class="topLink" href="createUnder.php">Skapa Underkategori</a><br />
                <a class="topLink" href="../userpage/logout.php">Logga ut</a>
            </div>
            <div id="right">
                 
                <form method="post" action="" name="underkat">
                V&auml;lj Kategory:
                    <select name="kats">
                        <?php
                            $sql
=mysql_query("SELECT * FROM category") or die(mysql_error());
                            
                            
                            
/*$catid=$row['catId'];*/
                            
while ($row=mysql_fetch_array($sql)){
                                echo 
'<option value='.$row[catname].'>'.$row['catname'] . '</option>';
                            }
                        
?>
                    </select><br />
                    Underkategori folder : <input type="text" name="underkat"/><br />
                    Underkategory namn : <input type="text" name="undercat" /><br />
                    <input type="submit" name="create" value="Skapa" />
                    
                    
                </form
                
            </div>
        </div>
    </body>
</html>

Antemano muchas gracias
  #2 (permalink)  
Antiguo 11/12/2007, 03:33
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Necesito ayuda por favor!!

Código PHP:
$catid=mysql_query("SELECT catId FROM category WHERE catname = '$catname'"); 
Con esto no asignas el resultado a $catid, lo que haces es asignar una variable a esa query. Para sacar el resultado tendrás que volcarlo en una variable

Código PHP:
$id_query mysql_query("SELECT catId FROM category WHERE catname = '$catname'");
$row mysql_fetch_array($id_query);
$catid $row['catId']; 
Hay que tener en cuenta que si la consulta no devuelve ningún resultado dará un warning al intentar volcar el resultado en el array (la instrucción de mysql_fetch_array), eso lo podrías solucionar poniendo una arroba antes del mysql_query. De todos modos luego tendrías que comprobar que el valor de $catid no esté vacío, también hay una función de mysql para ver el número de resultados devuelto por una consulta: mysql_num_rows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:32.