Categorías > Lenguajes > PHP > No compara datos ni los muestra. ...
Nuevo Mensaje | Responder
AdrianSeg


53 envíos
Desconectado
1747 lecturas
7 respuestas
No compara datos ni los muestra.08-03-2010 a las 09:24:40

Estoy intentado comprobar si el dato insertado ya existe en la db, ants funcionaba pero a dejado de funcionar y no sé porqué.

Código Fuente:
// VAMOS A COMPROBAR SI EL CENTRO YA EXISTE

$sql="SELECT * FROM centros where denominacion='$denominacion'";


$result=mysql_query($sql);

$fila=mysql_fetch_assoc($result);

        if ($denominacion==$fila["denominacion"]){
           
            if ($campus==$fila["campus"]) {

            echo "<font color='red'>El centro ya existe en la base de datos.</font></font>";
            }
           
// SINO EXISTE LO METEMOS EN LA BASE DE DATOS

            else {
       
$sSQL="INSERT INTO centros (denominacion,calle,numero,codigo_postal,campus,contacto,telefono,corporativo,email,web) VALUES ('$denominacion','$calle','$numero','$codigo_postal','$campus','$contacto','$telefono','$corporativo','$email','$web')";

@mysql_query("SET NAMES 'utf8'");

$result=mysql_query($sSQL) or die("Error. El servidor dijo: " . mysql_error());
echo "<script>alert('Centro agregado a la base de datos');</script>";   
echo "<script>parent.location.href = 'menuadmin_titul.php?ver=agregarc';</script>"; 
    }
}
}
?>


SI hago esto:
Código Fuente:

$sql="SELECT * FROM centros WHERE denominacion='$denominacion' AND campus='$campus'";

echo $sql;


me mustra correcto:

SELECT * FROM centros WHERE denominacion='sdfsdfsdf' AND campus='Granada'

Pero si hago esto:

$fila=mysql_fetch_assoc($result);
echo $fila["denominacion"];

No muestra el contenido de la fila así que sé ue es ese el error...pero si ejecuto la sentencia citada antes en phpmyadmin si me tira los resultados correctos...lo raro es que lo mismo funciona que no funciona o uso el mismo sistema para komprobar si el user existe y va perfectamente...k puede okurrir?





Responder | Citar | Moderar | Mensaje Privado
Training Channel
CHuLoYo


762 envíos
Desconectado

#1
RE: No compara datos ni los muestra.08-03-2010 a las 13:49:02

En el código fuente veo un  } de más-

www.Esquio.net | Diseño y programación web profesional
Responder | Citar | Moderar | Mensaje Privado
AdrianSeg


53 envíos
Desconectado

#2
RE: No compara datos ni los muestra.08-03-2010 a las 15:49:33

no sobr ninguno es el cierre del
Código Fuente: if (isset($_POST["boton"])) { 



Codigo completo, funciona cuando le da la real gana.

Código Fuente:PHP<?php
session_start();
//realizamos la conexión

include('../../conexion.php');


if ($_SESSION['s_login']!=""){
        //AQUI IRIA EL CODIGO DE LO QUE QUIERES QUE SE MUESTRE EN CASO DE ESTAR REGISTRADO
              
?>

<?php

// Boton

if (isset($_POST["boton"])) { 

              $denominacion = $_POST['denominacion'];
              $calle = $_POST['calle'];
              $numero = $_POST['numero'];
              $codigo_postal = $_POST['codigo_postal'];
              $campus = $_POST['campus'];
              $contacto = $_POST['contacto'];
              $telefono = $_POST['telefono'];
              $corporativo = $_POST['corporativo'];
              $email = $_POST['email'];
              $web = $_POST['web'];



// VAMOS A COMPROBAR SI EL CENTRO YA EXISTE

$sql="SELECT * FROM centros WHERE denominacion='$denominacion'";

echo $sql;
$result=mysql_query($sql);

$fila=mysql_fetch_assoc($result);

        if ($denominacion==$fila["denominacion"]){

// SINO EXISTE LO METEMOS EN LA BASE DE DATOS

              }else {
       
$sSQL="INSERT INTO centros (denominacion,calle,numero,codigo_postal,campus,contacto,telefono,corporativo,email,web) VALUES ('$denominacion','$calle','$numero','$codigo_postal','$campus','$contacto','$telefono','$corporativo','$email','$web')";

@mysql_query("SET NAMES 'utf8'");

$result=mysql_query($sSQL) or die("Error. El servidor dijo: " . mysql_error());
echo "<script>alert('Centro agregado a la base de datos');</script>";   
echo "<script>parent.location.href = 'menuadmin_titul.php?ver=agregarc';</script>"; 
    }
}

?>

    <h1>AGREGAR CENTROS</h1>

                        <form id="form1" name="form1" method="post" action="">
                        <fieldset> 
                                                        <legend>Añadir Centro</legend>
                                                               <label for="denominacion"><span class="negrita">Denominación:</span>
                                                      <input maxlegth="50" size="70" tabindex="1" name="denominacion" id="denominacion" />
                                                         </label>
                                                               <div class="apart_gen">Dirección</div>
                                                               <label for="calle"><span class="negrita">Calle: </span>
                                                            <input maxlegth="50" size="55" tabindex="2" name="calle" id="calle" />
                                                         </label> 
                                                            <label for="numero"><span class="negrita">Número:</span>
                                                            <input maxlegth="10" size="8" tabindex="3" name="numero" id="numero" />
                                    </label><br />
                                                               <label for="codigo_postal"><span class="negrita">C.P.:</span>
                                    <input name="codigo_postal" id="codigo_postal" tabindex="4" size="10" maxlength="5" maxlegth="10" />
                                    </label> 
                                                               <label for="campus"><span class="negrita">Campus Universitario:</span>
                                                                          <select name="campus" id="campus" tabindex="5">
                                                                                   <option value="Granada">Granada</option>
                                                                                   <option value="Ceuta">Ceuta</option>
                                                                                   <option value="Melilla">Melilla</option>
                                                                       </select>
                                                                     </label><br />
                                    <div class="apart_gen">Datos de Contacto</div>
                                    <label for="contacto"><span class="negrita">Persona de contacto:</span>
                                                                <input name="contacto" id="contacto" tabindex="6" size="50" maxlength="9" maxlegth="10" />
                                    </label><br />
                                                                <label for="telefono"><span class="negrita">Teléfono:</span>
                                                                <input name="telefono" id="telefono" tabindex="7" size="18" maxlength="9" maxlegth="10" />
                                    </label> 
                                                          <label for="corporativo"><span class="negrita">Corporativo:</span>
                                    <input maxlegth="10" size="18" tabindex="8" name="corporativo" id="corporativo" /><br />
                                    </label>
                                    <label for="email"><span class="negrita">E-mail:</span>
                                    <input maxlegth="10" size="35" tabindex="9" name="email" id="email" />
                                    </label> 
                                    <label for="web"><span class="negrita">Web:</span>
                                    <input maxlegth="30" size="45" tabindex="10" name="web" id="web" />
                                    </label><br />
                              </fieldset>
                              <br />
                                                        <div class="boton"><input type="submit" tabindex="11" name="boton" value="Añadir Centro" /></div></form></div>
         
        <? 
       
        } else {
              
echo"No estas identificado";
}
       
?>     


Responder | Citar | Moderar | Mensaje Privado
CHuLoYo


762 envíos
Desconectado

#3
RE: No compara datos ni los muestra.08-03-2010 a las 15:54:39

Yo no entiendo esta parte:
Código Fuente PHP:$sql="SELECT * FROM centros WHERE denominacion='$denominacion'";

echo $sql;
$result=mysql_query($sql);

$fila=mysql_fetch_assoc($result);

        if ($denominacion==$fila["denominacion"]){

// SINO EXISTE LO METEMOS EN LA BASE DE DATOS

              }else {


No es más fácil comprobar que NO existe si el número de filas devuelto es cero? Es que ahí la comparación no tiene sentido. Mira esto:

Código Fuente PHP:$sql="SELECT * FROM centros WHERE denominacion='".$denominacion."'";

echo $sql;
$result=mysql_query($sql);

        if (mysql_num_rows($result)==0){

// SINO EXISTE LO METEMOS EN LA BASE DE DATOS

              }else {


Saludos!

www.Esquio.net | Diseño y programación web profesional
Responder | Citar | Moderar | Mensaje Privado
AdrianSeg


53 envíos
Desconectado

#4
RE: No compara datos ni los muestra.08-03-2010 a las 18:18:01

Si lo h eprobado y nada, lo raro es que está todo correcto, tiene que ser algo dela configuracion ela db o algo porque en otros forms usando lo mismo si comprueba la existencia del user...y no hay nada diferente...solo cambio user por denomanicacion y nada...que raro ostias.


Responder | Citar | Moderar | Mensaje Privado
AdrianSeg


53 envíos
Desconectado

#5
RE: No compara datos ni los muestra.09-03-2010 a las 07:25:07

Ya esta arreglado era que las palabras con tildes nos las comparaba y me di cuenta al meter un normal..
la solucion:

Poner esto antes de la sentencia sql que es dodne deberia ir y como soy idiota pues no lo sabia:

@mysql_query("SET NAMES 'utf8'") or die ("Error cambiando charset" . mysql_error());


Responder | Citar | Moderar | Mensaje Privado
CHuLoYo


762 envíos
Desconectado

#6
RE: No compara datos ni los muestra.09-03-2010 a las 07:42:26

Te sigo insistiendo en que quites la @
Sólo sirve para ocultar posibles errores y así no te enteras de lo que pasa.

www.Esquio.net | Diseño y programación web profesional
Responder | Citar | Moderar | Mensaje Privado
AdrianSeg


53 envíos
Desconectado

#7
RE: No compara datos ni los muestra.09-03-2010 a las 14:48:30

Gracias, ya lo he eliminado para futuros errores.


Responder | Citar | Moderar | Mensaje Privado