Nueva pregunta

Pregunta:

Fecha: 08-05-2018 07:43:45 (En Español)

Error a la hora de publicar un comentario[No resuelta]

Hola.
Cuando intento publicar un comentario en la pagina me sale este error
[url=https://ibb.co/gvceG7][/url]
[url=https://ibb.co/iM8KG7][/url]
[url=https://ibb.co/dE71US][/url]
[url=https://ibb.co/d7AMUS][/url]
[url=https://ibb.co/dXsqOn][/url]

Este es el codigo que tengo en la div de los comentarios
; ?>/<?php echo $row_comentarios['foto']; ?>" alt="Foto" title="Comentarios" id="comentarios_foto" width="30" height="30" /><?php echo $row_comentarios['nombre']; ?> <?php echo $row_comentarios['apellido']; ?></td><?php echo $row_comentarios['texto']; ?> <?php echo $row_comentarios['fecha']; ?><td></td>
      </tr>
  </table>
  <?php } // Show if recordset not empty ?>
  <input type="hidden" name="idpub" value="<?php echo $row_todaslaspublicaciones['idpub']; ?>" />
<input type="hidden" name="correo" value="<?php echo $row_myusuario['correo']; ?>" />
                <input type="hidden" name="fecha" value="" />
                <input type="hidden" name="MM_insert" value="form2" />
              </form>
              <p>&nbsp;</p>
              <?php if ($totalRows_comentarios > 0) { // Show if recordset not empty ?>
                Comentarios (<?php echo $row_comentarios['idcom']; ?>)
  <?php } // Show if recordset not empty ?>
            </div>
          <br>
          
          
        </div>
        <?php } while ($row_todaslaspublicaciones = mysql_fetch_assoc($todaslaspublicaciones)); ?>
<?php } // Show if recordset not empty ?>    

    
    
    </td>
  </tr>
</table>]


Espero un repuesta, un cordial saludo.
Etiquetas: PHP Fatal error Votos: -2 - Respuestas: 14 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 08-05-2018 11:37:19 Es un error de base de datos revisa tus default en el campo idpub, que acepte null o enviale el dato que necesitas   Votos: 1 - Link respuesta
     
  • Fecha: 08-05-2018 14:45:14 Jony, es un campo auto incrementable, creo que ese campo nunca debe de ser nulo, o phpmyadmin lo marcaría como error   Votos: 0 - Link respuesta
     
  • Fecha: 08-05-2018 14:49:12 He olvidado comentarle, que ya hace un tiempo cree el mismo sitio con la misma sentencia SQL pero diferente base de datos y hice todo a base de un tutorial, pero en este nuevo proyecto intente hacerlo por si solo con mi método pero no me ha funcionado y me ha marcado el error ya mencionado

    Este es el código del antiguo proyecto:

    <table width="400" border="0" align="center">
      <tr>
        <td>
        
        
         <div id="TabbedPanels1" class="TabbedPanels">
                          <ul class="TabbedPanelsTabGroup">
                            <li class="TabbedPanelsTab" tabindex="0"><img src="images/estado.png" width="25" height="25" /> Escribe un Estado</li>
                            <li class="TabbedPanelsTab" tabindex="0"><img src="images/imagen.png" width="25" height="25" /> Imagen</li>
                            <li class="TabbedPanelsTab" tabindex="0"><img src="images/video.png" width="25" height="25" /> Video</li>
                </ul>
                          <div class="TabbedPanelsContentGroup">
                            <div class="TabbedPanelsContent">
                            <form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
            <table align="center">
                              <tr valign="baseline">
                                  <td nowrap="nowrap" align="right" valign="top"><img src="archivos/<?php echo $row_myusuario['email']; ?>/<?php echo $row_myusuario['fotos']; ?>" width="48" height="50" /></td>
                            <td><textarea name="texto" cols="60" rows="3" class="placeholder" placeholder="Comparte lo que piensas <?php echo $row_myusuario['nombre']; ?>"></textarea></td>
               </tr>
                          <tr valign="baseline">
                            <td nowrap="nowrap" align="right">&nbsp;</td>
                            <td align="right"><input type="submit" class="botones" value="Publicar" /></td>
                          </tr>
                        </table>
                            <input type="hidden" name="email" value="<?php echo $row_myusuario['email']; ?>" />
                            <input type="hidden" name="imagen" value="" />
                            <input type="hidden" name="video" value="" />
                            <input type="hidden" name="fecha" value="" />
                            <input type="hidden" name="amigo" value="<?php echo $row_myusuario['email']; ?>" />
                            <input type="hidden" name="MM_insert" value="form1" />
                  </form>
                            
                            
                            
                            
                            </div>
                            <div class="TabbedPanelsContent">
                            <form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1" enctype="multipart/form-data">
            <table align="center">
                              <tr valign="baseline">
                                
                                <td><textarea name="texto" cols="60" placeholder="Comparte una Fotografia con tus amigos"rows="4"></textarea></td>
                              </tr><tr><td> <input type="file" name="imagen" value="" /></td></tr>
                              <tr valign="baseline">
                                
                                <td align="right"><input type="submit" class="botones" value="Publicar" /></td>
                              </tr>
            </table>
                            <input type="hidden" name="email" value="<?php echo $row_myusuario['email']; ?>" />
                            
                            <input type="hidden" name="video" value="" />
                            <input type="hidden" name="fecha" value="" />
                            <input type="hidden" name="amigo" value="<?php echo $row_myusuario['email']; ?>" />
                            <input type="hidden" name="MM_insert" value="form1" />
                  </form>
                            </div>
                            <div class="TabbedPanelsContent">
                            <form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
            <table align="center">
                              <tr valign="baseline">
                                
                                <td><textarea name="texto" cols="64"  placeholder="Comparte un video de YouTube colocando el ID"rows="4"></textarea></td>
                              </tr>
                              <tr><td> Coloca el ID de un video de YouTube:  <input type="text" name="video" value="" /></td></tr>
                              <tr valign="baseline">
                                
                                <td align="right"><input type="submit" class="botones" value="Publicar" /></td>
                              </tr>
            </table>
                            <input type="hidden" name="email" value="<?php echo $row_myusuario['email']; ?>" />
                            <input type="hidden" name="imagen" value="" />
                            
                            <input type="hidden" name="fecha" value="" />
                            <input type="hidden" name="amigo" value="<?php echo $row_myusuario['email']; ?>" />
                            <input type="hidden" name="MM_insert" value="form1" />
                  </form>
                            </div>
                </div>
              </div><br />
                        Publicaciones mas recientes<hr />
                        <p>&nbsp;</p>
                        <p>
                          <?php if ($totalRows_todaslaspublicaciones == 0) { // Show if recordset empty ?>
                            NO HAY PUBLICACIONES
                            <br />
                          <?php } // Show if recordset empty ?>
                        </p>
                <table width="400" border="0">
                  <?php if ($totalRows_todaslaspublicaciones > 0) { // Show if recordset not empty ?>
        <?php
    	$numpanel=1; do { 
    	$colname_comentarios = $row_todaslaspublicaciones['idpub'];
    
    
    mysql_select_db($database_myconexion, $myconexion);
    $query_comentarios = sprintf("SELECT comentarios.email, comentarios.texto, comentarios.fecha, comentarios.idpub, usuario.fotos,usuario.nombre FROM usuario LEFT JOIN (publicaciones LEFT JOIN comentarios ON publicaciones.idpub=comentarios.idpub) ON comentarios.email=usuario.email WHERE publicaciones.idpub=%s GROUP BY comentarios.email, comentarios.texto, comentarios.fecha, comentarios.idpub ORDER BY comentarios.fecha DESC", GetSQLValueString($colname_comentarios, "int"));
    $comentarios = mysql_query($query_comentarios, $myconexion) or die(mysql_error());
    $row_comentarios = mysql_fetch_assoc($comentarios);
    $totalRows_comentarios = mysql_num_rows($comentarios);
    	
    	
    	
    	
    	
    	?>
          <tr>
            <td><img src="archivos/<?php echo $row_todaslaspublicaciones['email']; ?>/<?php echo $row_todaslaspublicaciones['fotos']; ?>" width="40" height="40" /><br /><br /><br /><br /><br /></td>
            <td><span class="nombre"><?php echo $row_todaslaspublicaciones['nombre']; ?></span> <br />
    
    
    
              <?php echo $row_todaslaspublicaciones['texto']; ?> 
    		  <? if($row_todaslaspublicaciones['imagen']!=""){?>
            <left><img src="archivos/<?php echo $row_todaslaspublicaciones['email']; ?>/fotosmuro/<?php echo $row_todaslaspublicaciones['imagen']; ?>" width="480" height="470" /><left><br />
              
              
              
              <? }?>
              <? if($row_todaslaspublicaciones['video']!=""){?>
              <iframe width="460" height="250" src="https://www.youtube.com/embed/<?php echo $row_todaslaspublicaciones['video']; ?>" frameborder="0" allowfullscreen></iframe>
              
              
              <? }?> <br /> <br />
              
                                                       <span class="fecha">
                                                       <?php $date= $row_todaslaspublicaciones['fecha'];
    $sqldate=date('d / N / Y ' ,strtotime($date));
    $sqldate2=date('h:i a' ,strtotime($date));
    ?>
                                                       <?php echo $sqldate." a las ".$sqldate2; ?></span><br /><hr />
        </td>
    </tr>
    <tr><td width="40"></td>
    <td width="366">
    <div id="CollapsiblePanel<?php echo $numpanel;?>" class="CollapsiblePanel">
                                <div class="CollapsiblePanelTab" tabindex="0">
                                  <?php if ($totalRows_comentarios > 0) { // Show if recordset not empty ?>
                                    <span class="numero">Comentarios (<?php echo $row_todaslaspublicaciones['numcom']; ?>)</span>
    <?php } // Show if recordset not empty ?>
    <br /> </div>
                                <div class="CollapsiblePanelContent">
                                  <?php if ($totalRows_comentarios == 0) { // Show if recordset empty ?>
                                    <div align="center"><span class="numero">Aun no hay Comentarios</span>
                                  </div>
                                  <?php } // Show if recordset empty ?>
                                  <?php if ($totalRows_comentarios > 0) { // Show if recordset not empty ?>
                                    <?php do { ?>
                                      <table width="400" border="0">
                                        <tr>
                                          <td><img src="archivos/<?php echo $row_comentarios['email']; ?>/<?php echo $row_comentarios['fotos']; ?>" width="40" height="39" /><br /><br /><br /><br /></td>
                                          <td><span class="nombre2"><?php echo $row_comentarios['nombre']; ?></span>
                                            
                                            <?php echo $row_comentarios['texto']; ?><br /><br />
                                            <span class="fechacomentario">
                                            <?php $date= $row_comentarios['fecha'];
    $sqldate=date('d / N / Y ' ,strtotime($date));
    $sqldate2=date('h:i a' ,strtotime($date));
    ?>
                                            <?php echo $sqldate." a las ".$sqldate2; ?><br />
    
                                            </span></td>
                                        </tr>
                                      </table><HR />
                                      <?php } while ($row_comentarios = mysql_fetch_assoc($comentarios)); ?>
                                    <?php } // Show if recordset not empty ?>
                                    <form action="<?php echo $editFormAction; ?>" method="post" name="form2" id="form2">
                                      <table align="center">
                                        <tr valign="baseline">
                                          <td nowrap="nowrap" align="right" valign="top"><img src="archivos/<?php echo $row_myusuario['email']; ?>/<?php echo $row_myusuario['fotos']; ?>" width="35" height="33" /></td>
                            <td><textarea name="texto" cols="60"rows="2" class="placeholder2"  placeholder="Escribe un Comentario <?php echo $row_myusuario['nombre']; ?>"></textarea></td>
                          </tr>
                          <tr valign="baseline">
                            <td nowrap="nowrap" align="right">&nbsp;</td>
                            <td align="right"><input type="submit" class="botones" value="Comentar" /></td>
                          </tr>
                        </table>
                                      <input type="hidden" name="idpub" value="<?php echo $row_todaslaspublicaciones['idpub']; ?><br /><br />" /><br />
                                      <input type="hidden" name="email" value="<?php echo $row_myusuario['email']; ?>" />
                                      <input type="hidden" name="fecha" value="" />
                                      <input type="hidden" name="MM_insert" value="form2" />
                                    </form>
                                    <p>&nbsp;</p>
                                </div>
                      </div>
    
            <br /><br /><br /><br /><br /><script type="text/javascript">var TabbedPanel<?php echo $numpanel;?> = new Spry.Widget.TabbedPanels("TabbedPanel<?php echo $numpanel;?>");</script>
    <?php 
    	  $numpanel++;
    	  } while ($row_todaslaspublicaciones = mysql_fetch_assoc($todaslaspublicaciones)); ?>
    <?php } // Show if recordset not empty ?>
           </tr>   </table>
    
         
             
           </td>
      </tr>
    </table>
    
                       
    
                          
    			</div>
    			<!-- InstanceEndEditable --><!-- InstanceBeginEditable name="sidebar" -->
    			<div class="contentright">
    				<h2>&nbsp;</h2>
    			</div>
    			<script type="text/javascript">
    var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1");
    var TabbedPanels2 = new Spry.Widget.TabbedPanels("TabbedPanels2");
                </script>
    			<!-- InstanceEndEditable -->
    			<div style="clear:both;"></div>
    			</div>
    		</div>
    		<div class="footerArea">
    			<div class="container"> 
    				<div class="copyright">&copy; 2017 Sprexs.  All rights reserved.</div>
    			</div>
    		</div>
    		
    		
    	</body>
    <!-- InstanceEnd --></html>
    <?php
    mysql_free_result($myusuario);
    
    mysql_free_result($todaslaspublicaciones);
    
    mysql_free_result($comentarios);
    ?>
    
      Votos: -2 - Link respuesta
     
  • Fecha: 08-05-2018 14:49:45 Espero que me puedan ayudar... Saludos a todos   Votos: 0 - Link respuesta
     
  • Fecha: 09-05-2018 06:47:54 Manda el schema de tu tabla con todas las propiedades de las columnas para ver   Votos: 0 - Link respuesta
     
  • Fecha: 10-05-2018 17:42:28 Hola, Braylin.

    Observando el código, tienes un {do while}, por lo tanto la primera iteración tendrá datos nulos. Por otro lado, sería excelente que indentes el código y por favor, muéstre código relevante al error.

    Concuerdo con Jony, debe de exponer la estructura de la tabla. Estoy seguro que la solución no tiene complejidad, sólo que sin información, siempre es difícil.
      Votos: 1 - Link respuesta
     
  • Fecha: 11-05-2018 10:55:48 Este es el mi codigo SQL de la tabla comentario

    CREATE TABLE `comentarios` (
      `idcom` int(11) NOT NULL AUTO_INCREMENT,
      `idpub` int(11) NOT NULL,
      `texto` varchar(5000) NOT NULL,
      `correo` varchar(70) NOT NULL,
      `fecha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      PRIMARY KEY (`idcom`),
      KEY `correo` (`correo`),
      KEY `idpub` (`idpub`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
    
    -- 
    -- Volcar la base de datos para la tabla `comentarios`
    -- 
    
    
    -- 
    -- Filtros para las tablas descargadas (dump)
    -- 
    
    -- 
    -- Filtros para la tabla `comentarios`
    -- 
    ALTER TABLE `comentarios`
      ADD CONSTRAINT `comentarios_ibfk_1` FOREIGN KEY (`idpub`) REFERENCES `publicaciones` (`idpub`) ON DELETE CASCADE ON UPDATE CASCADE,
      ADD CONSTRAINT `comentarios_ibfk_2` FOREIGN KEY (`correo`) REFERENCES `usuarios` (`correo`) ON DELETE CASCADE ON UPDATE CASCADE;
    


    Este es el codigo de mi pagina de inicio en donde se encuntra comentarios

    <?php require_once('Connections/zaikoorcox.php'); ?>
    <?php error_reporting(0); ?>
    <?php
    //initialize the session
    if (!isset($_SESSION)) {
      session_start();
    }
    
    // ** Logout the current user. **
    $logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
    if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
      $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
    }
    
    if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
      //to fully log out a visitor we need to clear the session varialbles
      session_destroy();
      $_SESSION['MM_Username'] = NULL;
      $_SESSION['MM_UserGroup'] = NULL;
      $_SESSION['PrevUrl'] = NULL;
      unset($_SESSION['MM_Username']);
      unset($_SESSION['MM_UserGroup']);
      unset($_SESSION['PrevUrl']);
    	
      $logoutGoTo = "salir.php";
      if ($logoutGoTo) {
        header("Location: $logoutGoTo");
        exit;
      }
    }
    ?>
    <?php
    if (!isset($_SESSION)) {
      session_start();
    }
    $MM_authorizedUsers = "";
    $MM_donotCheckaccess = "true";
    
    // *** Restrict Access To Page: Grant or deny access to this page
    function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
      // For security, start by assuming the visitor is NOT authorized. 
      $isValid = False; 
    
      // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
      // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
      if (!empty($UserName)) { 
        // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
        // Parse the strings into arrays. 
        $arrUsers = Explode(",", $strUsers); 
        $arrGroups = Explode(",", $strGroups); 
        if (in_array($UserName, $arrUsers)) { 
          $isValid = true; 
        } 
        // Or, you may restrict access to only certain users based on their username. 
        if (in_array($UserGroup, $arrGroups)) { 
          $isValid = true; 
        } 
        if (($strUsers == "") && true) { 
          $isValid = true; 
        } 
      } 
      return $isValid; 
    }
    
    $MM_restrictGoTo = "index.php";
    if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
      $MM_qsChar = "?";
      $MM_referrer = $_SERVER['PHP_SELF'];
      if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
      if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0) 
      $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
      $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
      header("Location: ". $MM_restrictGoTo); 
      exit;
    }
    ?>
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      if (PHP_VERSION < 6) {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      }
    
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
    
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;    
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
    }
    
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }
    
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
      $insertSQL = sprintf("INSERT INTO comentarios (texto, correo, fecha) VALUES (%s, %s, %s)",
                           GetSQLValueString($_POST['texto'], "text"),
                           GetSQLValueString($_POST['correo'], "text"),
                           GetSQLValueString($_POST['fecha'], "date"));
    
      mysql_select_db($database_zaikoorcox, $zaikoorcox);
      $Result1 = mysql_query($insertSQL, $zaikoorcox) or die(mysql_error());
    
      $insertGoTo = "inicio.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $insertGoTo));
    }
    
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
        mkdir("archivos/".$_POST['correo']."/fotosmuro");
    	$nombrefoto=$_FILES['imagen']['name'];
    	move_uploaded_file($_FILES['imagen']['tmp_name'],"archivos/".$_POST['correo']."/fotosmuro/".$nombrefoto);
      $insertSQL = sprintf("INSERT INTO publicaciones (correo, texto, imagen, amigo, video, fecha) VALUES (%s, %s, %s, %s, %s, %s)",
                           GetSQLValueString($_POST['correo'], "text"),
                           GetSQLValueString($_POST['texto'], "text"),
                           GetSQLValueString($nombrefoto, "text"),
                           GetSQLValueString($_POST['amigo'], "text"),
                           GetSQLValueString($_POST['video'], "text"),
                           GetSQLValueString($_POST['fecha'], "date"));
    
      mysql_select_db($database_zaikoorcox, $zaikoorcox);
      $Result1 = mysql_query($insertSQL, $zaikoorcox) or die(mysql_error());
    
      $insertGoTo = "inicio.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      
    }
    
    $colname_myusuario = "-1";
    if (isset($_SESSION['MM_Username'])) {
      $colname_myusuario = $_SESSION['MM_Username'];
    }
    mysql_select_db($database_zaikoorcox, $zaikoorcox);
    $query_myusuario = sprintf("SELECT * FROM usuarios WHERE correo = %s", GetSQLValueString($colname_myusuario, "text"));
    $myusuario = mysql_query($query_myusuario, $zaikoorcox) or die(mysql_error());
    $row_myusuario = mysql_fetch_assoc($myusuario);
    $totalRows_myusuario = mysql_num_rows($myusuario);
    
    mysql_select_db($database_zaikoorcox, $zaikoorcox);
    $query_todaslaspublicaciones = "SELECT publicaciones.idpub, publicaciones.correo, publicaciones.amigo,publicaciones.imagen,publicaciones.video,publicaciones.texto, publicaciones.fecha, COUNT(comentarios.idcom) AS numcom, usuarios.foto, usuarios.nombre, usuarios.apellido FROM usuarios INNER JOIN (publicaciones LEFT JOIN comentarios ON publicaciones.idpub=comentarios.idpub)ON publicaciones.amigo=usuarios.correo GROUP BY publicaciones.idpub, publicaciones.texto,publicaciones.fecha ORDER BY publicaciones.fecha DESC";
    $todaslaspublicaciones = mysql_query($query_todaslaspublicaciones, $zaikoorcox) or die(mysql_error());
    $row_todaslaspublicaciones = mysql_fetch_assoc($todaslaspublicaciones);
    $totalRows_todaslaspublicaciones = mysql_num_rows($todaslaspublicaciones);
    
    $colname_comentarios = "-1";
    if (isset($_GET['id'])) {
      $colname_comentarios = $_GET['id'];
    }
    mysql_select_db($database_zaikoorcox, $zaikoorcox);
    $query_comentarios = sprintf("SELECT comentarios.correo, comentarios.texto, comentarios.fecha, comentarios.idpub, usuarios.foto,usuarios.nombre, usuarios.apellido, comentarios.idcom FROM usuarios LEFT JOIN (publicaciones LEFT JOIN comentarios ON publicaciones.idpub=comentarios.idpub) ON comentarios.correo=usuarios.correo WHERE publicaciones.idpub=%s GROUP BY comentarios.correo, comentarios.texto, comentarios.fecha, comentarios.idpub ORDER BY comentarios.fecha DESC", GetSQLValueString($colname_comentarios, "int"));
    $comentarios = mysql_query($query_comentarios, $zaikoorcox) or die(mysql_error());
    $row_comentarios = mysql_fetch_assoc($comentarios);
    $totalRows_comentarios = mysql_num_rows($comentarios);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html><!-- InstanceBegin template="/Templates/plantillazaikoor.dwt.php" codeOutsideHTMLIsLocked="false" -->
    	<head>
    	<!-- InstanceBeginEditable name="doctitle" -->
    	<title>Zaikoor</title>
    	<meta name="description" content="Crea una cuenta o Inicia Sesión en Zaikoor para conocer personas, interactual con familiares, amigos y conocidos. Zaikoor te conecta con el Mundo" />
    	<link href="SpryAssets/SpryTabbedPanels.css" rel="stylesheet" type="text/css" />
    	<!-- InstanceEndEditable -->
    <link rel="stylesheet" type="text/css" href="css/stylesheet.css" />
    <style type="text/css">a:link{text-decoration:none;}</style>
    <link rel="shortcut icon" href="images/favicon.png" />
    		
    		<!-- InstanceBeginEditable name="head" -->
    		<script src="SpryAssets/SpryTabbedPanels.js" type="text/javascript"></script>
    		<!-- InstanceEndEditable -->
    	</head>
    	<body>

    Este es el codigo con el formulario de comentarios

     <?php if ($totalRows_comentarios == 0) { // Show if recordset empty ?>
      <p align="center" class="sexoindex">No hay comentarios</p>
      <?php } // Show if recordset empty ?>
    <hr>
                    <?php if ($totalRows_comentarios > 0) { // Show if recordset not empty ?>
      <table width="400" border="0">
        <tr>
          <td><img src="archivos/<?php echo $row_comentarios['correo']; ?>/<?php echo $row_comentarios['foto']; ?>" alt="Foto" title="Comentarios" id="comentarios_foto" width="30" height="30" /><?php echo $row_comentarios['nombre']; ?> <?php echo $row_comentarios['apellido']; ?></td><?php echo $row_comentarios['texto']; ?> <?php echo $row_comentarios['fecha']; ?><td></td>
          </tr>
      </table>
      <?php } // Show if recordset not empty ?>
      <input type="hidden" name="idpub" value="<?php echo $row_todaslaspublicaciones['idpub']; ?>" />
    <input type="hidden" name="correo" value="<?php echo $row_myusuario['correo']; ?>" />
                    <input type="hidden" name="fecha" value="" />
                    <input type="hidden" name="MM_insert" value="form2" />
                  </form>
                  <p>&nbsp;</p>
                  <?php if ($totalRows_comentarios > 0) { // Show if recordset not empty ?>
                    Comentarios (<?php echo $row_comentarios['idcom']; ?>)
      <?php } // Show if recordset not empty ?>
                </div>
              <br>
              
              
            </div>
            <?php } while ($row_todaslaspublicaciones = mysql_fetch_assoc($todaslaspublicaciones)); ?>
    <?php } // Show if recordset not empty ?>    
    
        
        
        </td>
      </tr>
    </table>


    Espero que me puedan ayudar
      Votos: 0 - Link respuesta
     
  • Fecha: 11-05-2018 12:25:24 Gracias, Braylin por compartir el código fuente.

    1. Deja de usar la extensión mysql, ya que está obsoleta a partir de PHP 5.5.0, me parece que ya te lo han recomendado hacer.

    2. El colega (Jony), ya te había comentado que el atributo idpub es donde puede estar el problema central; usted le respondió que es auto incrementable, pero no es así, el único auto incrementable es idcom. Por favor, verifique, este punto puede ser clave.

    3. El atributo idpub, referencia con otro atributo idpub que pertenece a la tabla publicaciones, por lo tanto, este debería tener el mismo dato actualizado. Verifique el punto.

    4. El error que muestra en la captura "Field 'idpub' doens't have a default value", trata especificamente ese campo. La consulta que usted elaboró para extraer la información es la siguiente:
    SELECT comentarios.correo, comentarios.texto, comentarios.fecha, comentarios.idpub, usuarios.foto,usuarios.nombre, usuarios.apellido, comentarios.idcom FROM usuarios LEFT JOIN (publicaciones LEFT JOIN comentarios ON publicaciones.idpub=comentarios.idpub) ON comentarios.correo=usuarios.correo WHERE publicaciones.idpub=%s GROUP BY comentarios.correo, comentarios.texto, comentarios.fecha, comentarios.idpub ORDER BY comentarios.fecha DESC
    Ejecútala en el gestor de base de datos y revisa los resultados.

    5. Puede que la vista me esté fallando, pero en el {do while} que le había mencionado, sigue ahí, pero no veo donde inicia el do.

    Ojalá que esos puntos te ayuden a ver mejor el problema y quizá se llegue a una solución.
      Votos: 1 - Link respuesta
     
  • Fecha: 11-05-2018 13:58:36 Jerson, voy a eliminar la pagina de inicio.php y la volvere a crear. de una mejor forma   Votos: 1 - Link respuesta
     
  • Fecha: 11-05-2018 14:16:49 ¡Braylin, esa es la actitud!

    Intenta emplear programación orientada a objetos (POO). Así el código es más legible, además te haces un poco más pro.

    ¡Vamos! es un placer ayudar colega. ¡Saludos!
      Votos: 1 - Link respuesta
     
  • Fecha: 11-05-2018 16:21:40 Muchas gracias Jerson, pero en dado caso de que yo hubiese quitado idpub, crees que se hubiese solucionado el problema ?   Votos: 0 - Link respuesta
     
  • Fecha: 11-05-2018 17:08:32 Es que el contenido de idpub tienes que extraerlo de la tabla publicaciones. Luego al momento de insertar un comentario, también tendrás que agregar el idpub de la publicación, esto para que el comentario tenga referencia sobre qué publicación se hizo.

    No es necesario eliminarlo, de hecho la filosofía de la DB es correcta. El problema es probablemente en la inserción o extracción de los datos. Te diría que lo puedes solucionar ahí mismo, con el mismo código que tienes, pero pensándolo bien, aprenderás más intentando cambiar la metodología de programación que llevas hasta el momento. Tienes que verlo como una oportunidad de aprendizaje.
      Votos: 2 - Link respuesta
     
  • Fecha: 11-05-2018 20:08:32 Amigo Jerson, te prometo que para mañana mismo lo voy a solucionar, voy a crear una nueva pagina y lo are de otro modo diferente que si funcionara, me pasare toda la tarde escribiendo código y le prometo solución para mañana   Votos: 1 - Link respuesta
     
  • Fecha: 12-05-2018 04:47:33 Acta Non Verba

    Sube tus proyectos a un respositorio en Git. Así se te puede colaborar mejor; no lo veas como que te van a robar el proyecto o algo así, te aseguro que se aprende muchísimo si recibes ese tipo de colaboración; de paso vas obteniendo experiencia del trabajo en equipo.

    ¡Saludos, Braylin!
      Votos: 1 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com