Foros del Web » Programando para Internet » PHP »

quien sea experto conectando con php a mysql

Estas en el tema de quien sea experto conectando con php a mysql en el foro de PHP en Foros del Web. hola, tengo un foro incompleto, no lo pondre para que no sea spam, bueno tengo una base de datos para los temas y otra para ...
  #1 (permalink)  
Antiguo 13/02/2011, 12:06
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 3 meses
Puntos: 1
Información quien sea experto conectando con php a mysql

hola, tengo un foro incompleto, no lo pondre para que no sea spam, bueno tengo una base de datos para los temas y otra para las respuestas, como el identificador (PRIMARY KEY) de sql no deben ser iguales, se me ocurrio poner un campo ordinario, que guardara el id del tema, aqui esta mi codigo para conectarme a la base de datos de los comentarios:
Código PHP:
Ver original
  1. <?php
  2. $iddd2 = $_GET ['id'];
  3. include('conectar2.php');
  4. $sql2 = conectar2();
  5. $respuesta2 = mysql_query("select * from comentarios",$sql2);
  6. while ($row = mysql_fetch_array($respuesta2)) {
  7. $idcom = $row[IDC];
  8. if ($idcom = $iddd2) {
  9. echo "
  10. <table width=\"600\" bgcolor=\"ff0000\" style=\"color: #FFFFFF;
  11.  
  12.  
  13.  
  14.  
  15.  
  16. \"><tr><td><center>
  17.  
  18. <textarea style=\"
  19. color: #FFFFFF;
  20. background: #ff0000
  21.  
  22.  
  23.  
  24. \" cols=\"80\" rows=\"10\">"  .$row['respuesta']. "
  25.  
  26.  
  27.  
  28.  
  29. </textarea><hr>Enviado por:
  30. " .$row['nombre']. ".</center></td></tr></table><br><br>";
  31. }else{
  32. echo "No Hay respuestas!";
  33. }
  34. }
  35. mysql_free_result($respuestas2);
  36. mysql_close($sql2);
  37. ?>


bueno, esta es la parte qu me interesa:
Código PHP:
Ver original
  1. if ($idcom = $iddd2) {
$idcom es el id con el que se guardo el comentario (en el campo identificador)
$iddd2 es el id del tema

lo que quiero hacer es que si esas son iguales se escriba la respuesta, con cada campo, como inserto una condicion dentro de un while, o cual es mi error?



PD: tengo 13 años
  #2 (permalink)  
Antiguo 13/02/2011, 12:20
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: quien sea experto conectando con php a mysql

Este código está mal:

Asignador =
Comparador de contenido ==
Comparador de contenido y tipo ===

Es decir:

Código PHP:
Ver original
  1. if ($idcom == $iddd2) {

PD:ánimo, yo tengo 14
  #3 (permalink)  
Antiguo 13/02/2011, 13:41
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: quien sea experto conectando con php a mysql

Cita:
Iniciado por 3nr1c Ver Mensaje
Este código está mal:

Asignador =
Comparador de contenido ==
Comparador de contenido y tipo ===

Es decir:

Código PHP:
Ver original
  1. if ($idcom == $iddd2) {

PD:ánimo, yo tengo 14

gracias, pero haora no me arroja ninguna respuesta, siendo que hay 3, no sera por que uno es un array y otro no?
y estaria comparando
3 == 333??

(en el caso en el que hayan 3 respuestas, como puedo solucionar eso??

PD: me alegra saber que no soy el unico joven, me agradas
  #4 (permalink)  
Antiguo 13/02/2011, 13:49
 
Fecha de Ingreso: diciembre-2010
Mensajes: 5
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: quien sea experto conectando con php a mysql

Por lo que veo, creo que se cual es el error, pero antes de responderte necesito preguntarte, tampoco te muestra el mensaje "No Hay respuestas"?

PD: también tengo 14, así que no te dejes vencer, por tu edad...
Ryperap.
  #5 (permalink)  
Antiguo 13/02/2011, 14:20
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: quien sea experto conectando con php a mysql

pues comienzo con la pregunta del millon de dolares la funcion conectar2(); te devuelve la conexion?? otra cosa depura tu consulta a ver si te muestra un error de mysql ej:
Código PHP:
Ver original
  1. mysql_query(/*tu consulta*/) or die(mysql_error());
de esta manera te mostraria un error de sintaxis, ademas de eso aca
Cita:
$idcom = $row[IDC];
te faltan las comillas simples del indice que estas indicando, eso te podria dar un error, pero de todas maneras lo que debes hacer son pruebas imprime las dos variables que estas trabajando y ve si son iguales, aunque si no te muestra nada debe de ser por que hay error ya que si no entra en las condiciones, para finalizar una pregunta buena cuantas tablas quieres crear?? tantas como registros obtengas?? porque sino es asi deberias de crear tu tabla antes de hacer el bucle y solo crear celdas dentro del bucle ya que como lo tienes estas creando varias tablas, espero que mi comentario te ayude un poco, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #6 (permalink)  
Antiguo 13/02/2011, 19:57
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 3 meses
Puntos: 1
Exclamación Respuesta: quien sea experto conectando con php a mysql

Cita:
Iniciado por ryperap Ver Mensaje
Por lo que veo, creo que se cual es el error, pero antes de responderte necesito preguntarte, tampoco te muestra el mensaje "No Hay respuestas"?

PD: también tengo 14, así que no te dejes vencer, por tu edad...
Ryperap.
cuando lo pongo asi:

if ($idcom == $idd2) {

asi me arroja el mensaje "yNO hay respuestas"
  #7 (permalink)  
Antiguo 13/02/2011, 19:59
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: quien sea experto conectando con php a mysql

Cita:
Iniciado por carlos_belisario Ver Mensaje
pues comienzo con la pregunta del millon de dolares la funcion conectar2(); te devuelve la conexion?? otra cosa depura tu consulta a ver si te muestra un error de mysql ej:
Código PHP:
Ver original
  1. mysql_query(/*tu consulta*/) or die(mysql_error());
de esta manera te mostraria un error de sintaxis, ademas de eso aca

te faltan las comillas simples del indice que estas indicando, eso te podria dar un error, pero de todas maneras lo que debes hacer son pruebas imprime las dos variables que estas trabajando y ve si son iguales, aunque si no te muestra nada debe de ser por que hay error ya que si no entra en las condiciones, para finalizar una pregunta buena cuantas tablas quieres crear?? tantas como registros obtengas?? porque sino es asi deberias de crear tu tabla antes de hacer el bucle y solo crear celdas dentro del bucle ya que como lo tienes estas creando varias tablas, espero que mi comentario te ayude un poco, saludos


si me conecta, ademas lo de las comillas, eso pense yo, que alomejor es por las comillas, esq si las pongo me arroja error, pero para estar seguro puse un echo"";

y puse la variable y si me dio el id de la base de datos, ya lo cheke todo, las comillas no son problema, el problema es la condicio
  #8 (permalink)  
Antiguo 13/02/2011, 20:28
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: quien sea experto conectando con php a mysql

bueno leyendo lo que dices en los mensajes respondiendo a los compañeros si te trae los datos de la consulta el problema es el desastre en lo que se refiere al bucle como te lo indique anteriormente, te recomiendo que indentes tu codigo de manera que sea mas facil leerlo para poderte ayudar ya que no se ve bien cual es el inicio de un bucle o condicional y el principio del otro.

Además de esto te indique anteriormente que hicieras pruebas haciendo impreción de los valores a comparar ejemplo

Código PHP:
Ver original
  1. echo $idcom." ".$iddd2."<br/>";
de manera que te salgan en el navegador uno al lado del otro y puedas ver el porque no esta entrando a tu condicional que es lo que te esta pasando segun nos afirmas al decirle al amigo esto

Cita:
Iniciado por xXeltommyXx Ver Mensaje
cuando lo pongo asi:

if ($idcom == $idd2) {

asi me arroja el mensaje "yNO hay respuestas"
esto es porque la comparacion no da igual, porque antes intentaba entrar en tu condicional?? porque sencillamente estabas asignando y al asignar un valor que sea diferente de 0 o false el condicional es true por lo tanto se ejecuta, en conclusión has pruebas los errores mas simples son los que a nosotros los programadores nos dan mas dolores de cabeza que te lo digo yo que soy un experto equivocandome has las pruebas y nos comentas que paso, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #9 (permalink)  
Antiguo 14/02/2011, 01:41
 
Fecha de Ingreso: mayo-2009
Mensajes: 6
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: quien sea experto conectando con php a mysql

Una pregunta... intentas jalar toda la info de la tabla comentarios y luego filtrarla mediante programacion para mostrar solo los que coincidan con $iddd2?

Si la respuesta es si, por que no haces esto:

$iddd2 = (int) $_GET['id'];

y tambien le agregas un "where IDC = '$iddd2'" a tu query, haces el while y te olvidas del if...

Si realmente necesitas el "No hay respuestas" anida el while dentro del if (investiga sobre la funcion mysql_num_rows) y muestra el mensaje en el else... la idea seria hacer un condicional para ver si tu query te regreso un numero mayor que 0 de registros...

Te felicito, a tu edad y aventurarte a crear un foro por tu propia mano... mis respetos camarada, sigue asi y pronto podras vivir de esto...

Saludos!
  #10 (permalink)  
Antiguo 14/02/2011, 18:40
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: quien sea experto conectando con php a mysql

Cita:
Iniciado por villaju Ver Mensaje
Una pregunta... intentas jalar toda la info de la tabla comentarios y luego filtrarla mediante programacion para mostrar solo los que coincidan con $iddd2?

Si la respuesta es si, por que no haces esto:

$iddd2 = (int) $_GET['id'];

y tambien le agregas un "where IDC = '$iddd2'" a tu query, haces el while y te olvidas del if...

Si realmente necesitas el "No hay respuestas" anida el while dentro del if (investiga sobre la funcion mysql_num_rows) y muestra el mensaje en el else... la idea seria hacer un condicional para ver si tu query te regreso un numero mayor que 0 de registros...

Te felicito, a tu edad y aventurarte a crear un foro por tu propia mano... mis respetos camarada, sigue asi y pronto podras vivir de esto...

Saludos!
gracias, pero como tu dices existe un error en sql, como no se pueden tener identificadores iguales puse el campo IDC que no es identificador para que con cada comentario se guardara el id del tema, no se puede usar where IDC = $idcom, esq si sql me permitiera tener varios identificadores iguales se arreglaria mi problema,
  #11 (permalink)  
Antiguo 16/02/2011, 17:37
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 3 meses
Puntos: 1
De acuerdo Respuesta: quien sea experto conectando con php a mysql

Cita:
Iniciado por villaju Ver Mensaje
Una pregunta... intentas jalar toda la info de la tabla comentarios y luego filtrarla mediante programacion para mostrar solo los que coincidan con $iddd2?

Si la respuesta es si, por que no haces esto:

$iddd2 = (int) $_GET['id'];

y tambien le agregas un "where IDC = '$iddd2'" a tu query, haces el while y te olvidas del if...

Si realmente necesitas el "No hay respuestas" anida el while dentro del if (investiga sobre la funcion mysql_num_rows) y muestra el mensaje en el else... la idea seria hacer un condicional para ver si tu query te regreso un numero mayor que 0 de registros...

Te felicito, a tu edad y aventurarte a crear un foro por tu propia mano... mis respetos camarada, sigue asi y pronto podras vivir de esto...

Saludos!
GRACIASSS!!!!!! me funciono!!!!! muchas gracias te lo agredesco mucho
PD: si se lo que es mysql_num_rows, es para checar cuantos registros estan el la base de datos
  #12 (permalink)  
Antiguo 16/02/2011, 17:43
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: quien sea experto conectando con php a mysql

Cita:
Iniciado por villaju Ver Mensaje
Una pregunta... intentas jalar toda la info de la tabla comentarios y luego filtrarla mediante programacion para mostrar solo los que coincidan con $iddd2?

Si la respuesta es si, por que no haces esto:

$iddd2 = (int) $_GET['id'];

y tambien le agregas un "where IDC = '$iddd2'" a tu query, haces el while y te olvidas del if...

Si realmente necesitas el "No hay respuestas" anida el while dentro del if (investiga sobre la funcion mysql_num_rows) y muestra el mensaje en el else... la idea seria hacer un condicional para ver si tu query te regreso un numero mayor que 0 de registros...

Te felicito, a tu edad y aventurarte a crear un foro por tu propia mano... mis respetos camarada, sigue asi y pronto podras vivir de esto...

Saludos!


gracias, me caes muy bien en este foro no se puede agradecer con algo, en taringa te dan puntos, aqui como se agradece?

Etiquetas: condiciones, funciones, mysql
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 15:19.