Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ayuda consulta Mysql.

Estas en el tema de Ayuda consulta Mysql. en el foro de Mysql en Foros del Web. Hola forosdelweb , tengo un problema... Primero que nada tengo 13 años, me gusta la informatica en general... No los quiero aburrir igual. Les resumo ...
  #1 (permalink)  
Antiguo 22/04/2010, 08:22
 
Fecha de Ingreso: abril-2010
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Desacuerdo Ayuda consulta Mysql.

Hola forosdelweb, tengo un problema...
Primero que nada tengo 13 años, me gusta la informatica en general...
No los quiero aburrir igual.
Les resumo todo.
Yo lo que hacia era al entrar a una pagina(larga historia) era bajar los archivos para ver como eran, y los entendia perfectamente, ademas de que me parecian faciles.
(Lo resumi mucho, antes era mas largo)

Baje el appserv, y me puse a pensar que podia empezar a hacer...
Se me ocurrio hacer un "sistema de noticias" , entonces con el phpmyadmin, creo una tabla('noticias') y 6 columnas(id, titulo, imagen,textocorto,texto,comentarios)
el noticias.php que consulta los datos tiene este codigo...
Código:
<?php
include('connect.php');
$noticia=mysql_query("select * from Noticias where id='$_GET[id]'");
while ($inc=mysql_fetch_array($noticia))
{
echo "<b><br><center>".$inc['titulo']." </center></b><br><br>";
echo "<img src=".$inc['imagen']."><br>";
echo "<font size=1><i>".$inc['corto']."</i></font>";
echo "<center><br></center>".$inc['texto']."<br>";
}
?>

Hasta ahi todo bien, desde el phpmyadmin agregue datos al azar en las columnas puse noticias.php?id=1, y anduvo.
Siempre me gusto hacer mas de lo que puedo, entonces segui tocando todo.
Despues me puse a pensar en como hacer un html que agregue noticias, y lo hice tambien muy rapido. A travez de post envio los datos y con mysql_query usando 'insert' agrega los datos..

subirnoticia.html...
Código:
<html>
<head>
<title>Agregar Noticia!</title>
</head>
<body>
<h1>Subir noticia</h1>
<form action="agreganot.php" method="post">
Id noticia:
<input type="text" name="id"><br>
Titulo noticia:
<input type="text" name="titulo"><br>
nombre de la imagen(con .jpg):
<input type="text" name="imagen"><br>
Descripción(corta) de la imagen:
<input type="text" name="corto"><br>
Texto:
<input type="text" name="texto"><br>
<input type="submit" value="Registrar">
</form>
</body>
</html>

agreganot.php
Código:
<?php
include('connect.php');
mysql_query("insert into noticias(id,titulo,imagen,texto,corto) values ('$_REQUEST[id]','$_REQUEST[titulo]','$_REQUEST[imagen]','$_REQUEST[texto]','$_REQUEST[corto]')", $con) or die("Problemas en el select".mysql_error());
mysql_close($con);
echo "Agregaste la noticia guacho...";

?>


Aca surgue el primer problema(no el mas importante, pero es un problema.)
Yo queria saber como hacer para que automaticamente al insertar se agregue en un id despues del ultimo numero.
Supongamos que esta hasta el id 9, yo al agregar la noticia quede id 10, en este caso yo establezco el numero , pero seria mas comodo si no.
Despues el problema por el que entre, es que tengo una duda, por que no se me ocurre como, y por ahora me niego a leer php :P

Yo al abrir noticias.php quiero que se listen las ultimas noticias.
Por ejemplo las ultimas 3 que se hayan agregado(Por ej... Id,8,9,10) pero que solamente se muestre... El titulo, un texto corto(la noticia resumida...tendria que agregar otra columna que contega eso) y la imagen en tamaño chico.


Espero que me puedan ayudar, no importa lo feo qeu se vea por ahora, yo solamente quiero la idea de como hacerlo.


PERDON POR ESCRIBIR TANTO, Voy a empezar a ser un usuario activo. :)





A por cierto! No, no soy un gordo, friki, fracasado o como quieran decirlo.
Tengo muchos amigos, amigas y salgo casi siempre.


Nunca esta demas decirlo


Suerte ;)
  #2 (permalink)  
Antiguo 22/04/2010, 08:42
 
Fecha de Ingreso: abril-2010
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda consulta Mysql.

...¿Alguien me podria ayudar?...
  #3 (permalink)  
Antiguo 22/04/2010, 08:49
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Ayuda consulta Mysql.

HOLA MUCHACHITO.

para que el id se incremente automaticamente, en la definicion del campo id tienes que decirle que es el primary key y que es autoincrement.

en cuento a lo que quieres seleccionar con un resumen de la noticia, debes de consultar funciones de cadena en mysql en especial las subcadenas o substring, para que de ese modo hagas algo como SUBSTRING(campo,0,40); ---> SIENDO EL 0 LA POSICION DEL PRIMER CARACTER, aunque no se si empieza en 0 o en 1 Y SIENDO 40 LA CANTIDAD de caracteres que quieres sacar.

para sacar las tres ultimas noticias SERIA ALGO COMO

SELECT *
FROM noticias
ORDER BY id DESC LIMIT 3,0 -----> ES DECIR RETORNE 3 RESULTADOS EMPEZANDO DESDE EL CERO, TENIENDO EN CUENTA QUE EL CERO ES EL ULTIMO PORQUE SE GARANTIZO CON EL ORDENAMIENTO DESCENDIENTE POR ID.

tambien te recomiendo que en hagas una tabla aparte para los comentarios, pues se sobre entiende que cada noticia tiene muchos comentarios.
  #4 (permalink)  
Antiguo 22/04/2010, 08:53
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Ayuda consulta Mysql.

me falto, en cuanto a lo del id que se incremente solo al momento de hacer el insert seria algo como INSERT INTO tabla (id,campo1,campo2) VALUES (NULL,valor1,valor2)
  #5 (permalink)  
Antiguo 22/04/2010, 08:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Ayuda consulta Mysql.

Cita:
Yo queria saber como hacer para que automaticamente al insertar se agregue en un id despues del ultimo numero.
Supongamos que esta hasta el id 9, yo al agregar la noticia quede id 10, en este caso yo establezco el numero , pero seria mas comodo si no.
Despues el problema por el que entre, es que tengo una duda, por que no se me ocurre como, y por ahora me niego a leer php :P
En el caso de MySQL, se debe definir el ID de la tabla (sólo si es numérico) como AUTO_INCREMENT. Eso hará que los ID se vayan incrementado de a uno secuencialmente, pero ahy unos detalles a recordar:
- Un auto_increment es por default clave primaria, por lo que se lo debe declarar específicamente como tal, si aún no lo es.
- Una tabla con un auto_increment no requiere que se envíe ese campo, ya que lo administra el mismo MySQL. Eso quiere decir que si quieres insertar un registro en una tabla mitabla(a, b, c, d), donde "a" es id autoincremental, el insert sería: INSERT INTO mitabla(b, c, d,) VALUES(valorb, valorc, valord). Esto es porque al no enviar el ID, se debe indicar qué campos se ingresarán.
Cita:
Yo al abrir noticias.php quiero que se listen las ultimas noticias.
La consulta para que devuelva eso es simplemente hacer que te devuelva los últimos ID, ordenados en forma inversa, usando LIMIT en la sentencia de SELECT.
En cualquier caso, eso se puede resolver después, incluso en la aplicación, al crear la sentencia.


El resto del tema de tu consulta, es decir, todo lo que tenga que ver con el funcionamiento automático de la p´página, no es tema de bases de datos, sino de programación (en PHP en tu caso), por lo que debes consultarlo en el subforo correspondiente: Foro de PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 22/04/2010, 09:24
 
Fecha de Ingreso: abril-2010
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda consulta Mysql.

Muchisimas gracias a los 2! Sabia el funcionamiento del Limit, nada mas que no lo tome en cuenta .. Igual ahora me surgue otra pregunta, si yo uso el limit las noticias aparecerian desordenadas, ¿o no?


Espero que me puedan responder!

Lo de auto_increment lo pongo en practica ahora :P



A por cierto, ayer se me habia ocurrido en vez de poner el nombre de la imagen que ya tendria que estar subida, tener un uploader y que automaticamente ponga el nombre de la imagen que subi, no se si me explico.
Debe ser facil, pero no se como! jaja :)


De nuevo, muchas gracias.
  #7 (permalink)  
Antiguo 22/04/2010, 09:30
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Ayuda consulta Mysql.

ANTES DEL LIMIT TIENES ORDER BY id DESC, LO QUE TE GARANTIZA UN ORDEN DESCENDENTE DESDE LA ULTIMA NOTICIA
  #8 (permalink)  
Antiguo 22/04/2010, 09:52
 
Fecha de Ingreso: abril-2010
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda consulta Mysql.

Ahora pruebo! muchas gracias





EDIT:

Acabo de probar, y no me anduvo, obviamente estoy haciendo algo mal pero no se que ...
Código:
<?php
include('connect.php');
mysql_query("SELECT * FROM noticias ORDER BY id DESC LIMIT 0,3");


echo "<b><br><center>".$inc['titulo']." </center></b><br><br>";


?>
Intente usar ese codigo para ver si se mostraba algo, pero no.

¿Alguien me puede guiar en como usarlo?
saludos :)

Última edición por Duraznito; 22/04/2010 a las 09:59 Razón: Problema con codigo
  #9 (permalink)  
Antiguo 22/04/2010, 10:02
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Ayuda consulta Mysql.

pero que te salio?
  #10 (permalink)  
Antiguo 22/04/2010, 10:19
 
Fecha de Ingreso: abril-2010
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda consulta Mysql.

Nada en realidad. Solamente puse un texto arriba y fue lo unico que aparecio. :S
  #11 (permalink)  
Antiguo 22/04/2010, 10:28
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Ayuda consulta Mysql.

http://www.mysqlperformanceblog.com/...-optimization/
  #12 (permalink)  
Antiguo 22/04/2010, 10:37
 
Fecha de Ingreso: abril-2010
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda consulta Mysql.

Muchas gracias por tomarte tanto timpo en ayudarme!
Crei que ya no quedaba tanta gente asi :p
  #13 (permalink)  
Antiguo 22/04/2010, 10:42
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Ayuda consulta Mysql.

me gusta colaborar con lo poco que se!!!!, me gane mi karma?
  #14 (permalink)  
Antiguo 22/04/2010, 11:05
 
Fecha de Ingreso: abril-2010
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda consulta Mysql.

Te lo ganaste desde la primera vez que comentaste, nada mas que no se dartelo :P
  #15 (permalink)  
Antiguo 22/04/2010, 11:16
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Ayuda consulta Mysql.

Mira en cada uno de mis mensajes hay un yin yan blanco con negro, dale click alli
  #16 (permalink)  
Antiguo 22/04/2010, 13:36
 
Fecha de Ingreso: abril-2010
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda consulta Mysql.

No me aparece, solamente a mi!

Igual, no me anduvo para mostrar las noticias, y no me explica nada el link que me mandaste :S
  #17 (permalink)  
Antiguo 22/04/2010, 17:47
 
Fecha de Ingreso: abril-2010
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda consulta Mysql.

fdsfsdfsdfsd
  #18 (permalink)  
Antiguo 23/04/2010, 02:24
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Ayuda consulta Mysql.

Duraznito,
Estás tratando de hacer varias cosas y quieres resolverlas todas en el mismo foro. Aquí sólo podemos ayudarte en la parte de MySQL, es decir, de bases de datos.
La consulta parece estar bien y debería mostrarte los 3 últimos registros que tienes en la tabla noticias. Si lo pruebas directamente en PHPMyAdmin o en consola comprobarás si es o no así.
Otro problema distinto es el uso que haces de PHP. No estás cargando los datos y deberías pedir ayuda en el foro PHP; allí te lo resolverán en un Pis, pas; pero siempre por pasos.
1. ¿Funciona la consulta o no en la base?
2. Comprobación luego del PHP (ojo que no has cargado los datos en el array y tampoco haces la iteración para mostrarlos) y del HTML, pues estás usando también etiquetas HTML que no son estándard en la actualidad. Pide ayuda en el foro de HTML para empezar a escribirlas bien y que los navegadores no tengan problema.
  #19 (permalink)  
Antiguo 23/04/2010, 07:02
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Ayuda consulta Mysql.

Jurena tiene razon
  #20 (permalink)  
Antiguo 23/04/2010, 11:02
 
Fecha de Ingreso: abril-2010
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda consulta Mysql.

Jurena, muchas gracias por comentar.
Te comento que al ejecutar la consulta en el phpmyadmin(SELECT * FROM noticias ORDER BY id DESC LIMIT 1,3) se ejecuta correctamente y muestra las noticias del id 1 al 3.

Ahora lo que yo necesito es por hacer para mostrarlo en la web sin marcar ningun id.

Algo asi..


titulo1
[IMAGEN1]
descripcion 1

TEXTO DE LA NOTICIA1...............
...........



Titulo2
[IMAGEN2]
descripcion2
TEXTO DE LA NOTICIA........................
.............2


Algo asi quiero hacer, no se si lo tengo que preguntar aca o en donde.

Muchas gracias a los 2.


PD:¿Como puedo dar "karma"?
  #21 (permalink)  
Antiguo 23/04/2010, 12:41
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Ayuda consulta Mysql.

Duraznito,
ahora lo primero que tienes que hacer es pedir ayuda en el foro PHP para lanzar esa consulta, cargar los datos y mostrarlos en una iteración. Es fácil, no te preocupes. Si miras en algún tutorial de iniciación PHP MySQL (usa google) encontrarás la sintaxis. Si tienes algún problema, pregunta en nuestro foro PHP.
Otro problema que planteas es el de la imagen. Debes guardar la dirección URL de la imagen, sea absoluta o relativa en un campo de la base. En la base sólo guardas la dirección, luego mediante html y PHP la muestras como quieras. Eso requerirá incluir los tags de imagen de html y la dirección que te traes de la base. Crea pues un campo para la dirección y guárdala. Además de toda la dirección (si es absoluta) debes guardar el nombre del archivo con su terminación, que indica el tipo de archivo de imagen. Lo más habitual, ya sabes, jpg; por ej. http//www.pagina/imagen.jpg, si es que está en la red; podría estar en un directorio del servidor (allí solemos usar direcciones relativas respecto al documento PHP que la procesa), o de tu ordenador.
Esto son cosas fáciles, ya verás, pero debes ir parte por parte y haciendo pruebas con pocos datos y pocos elementos, uno a uno.
No te preocupes por el karma, a la izquierda de cada post aparece el signo del jing y del jang. Si pulsas sobre él en el post de quien quieras premiar con el karma, ya lo habrás hecho. Pero lo primero es que resuelvas tus problemas. Luego, cuando ya lo tengas, decides si concederlo.
  #22 (permalink)  
Antiguo 23/04/2010, 14:51
 
Fecha de Ingreso: abril-2010
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda consulta Mysql.

Bueno, voy a tener que leer(no es que no queria leer, queria ver que podia hacer por mi mismo), muchas gracias!

Respecto al karma... No me aparece para dar, debe ser que aun soy muy nuevo y no puedo dar! :P


Suerte, y muchas gracias

Etiquetas: consulta, sitemap
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 21:12.