Проблем с mysql

lub4o

Registered
Здравейте написах си този код
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <form method="post" action="">
           <table>
               <tr><td> От:</td><td> <input type="text" name="avtor"/></td></tr>
           <tr><td> Коментар:</td><td> <textarea name="text" cols="45" rows="3"></textarea></td></tr>
          <tr><td> </td><td>   <input type="submit" name="submit" value=" Добави "/></td></tr>
        </table>

        </form>
        <?php
      require ('config.php');
      

      $sel = mysql_query("SELECT * FROM book ORDER BY id DESC") or die (mysql_error());
      echo '<table>';
      while($row = mysql_fetch_array($sel))
      {

          echo "
              <tr><td><b>От</b>: $row[avtor]</tr></td>
              <tr><td><b>Коментар:</b> $row[text]</tr></td>
          <tr><td><b>Дата:</b> $row[date]</tr></td>
          <tr><td><b>IP Adress:</b> $row[ip]</tr></td>
          <tr><td><hr></td></tr>
";
      }
      echo '</table>';
      $text=trim($_POST['text']);
      $avtor=trim($_POST['avtor']);
      $date=date('<b>Y-d-m  H:i:s'.'</b>');
      $ip=$_SERVER['REMOTE_ADDR'];

      
      if(isset($_POST['submit']))
          {
            if(strlen($avtor)<= 25 AND $avtor != NULL)
                {
                    if(strlen($text)<=150 AND $text != NULL)
                        {
 echo 'Вие успешно добавихте новина в базата данни';

      $add = mysql_query("INSERT INTO book (avtor,text,date,ip) VALUES ('$avtor','$text','$date','$ip')");
     
    
          }
           else
              {
              echo 'Максималната дължина на полето КОМЕНТАР е 150 символа';
              }
          }


          else
              {
              echo 'Максималната дължина на полето автор е 25 символа';
          }
          }
        ?>
    </body>
</html>

Обаче като добавя новина и текста Вие успешно добавихте новина отива най доло как да направя текста да си се качи горе? Това стана след като зададох ORDER BY id DESC някой ако може да хелпне
 
Нещо такова :?
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <form method="post" action="">
           <table>
               <tr><td> От:</td><td> <input type="text" name="avtor"/></td></tr>
           <tr><td> Коментар:</td><td> <textarea name="text" cols="45" rows="3"></textarea></td></tr>
          <tr><td> </td><td>   <input type="submit" name="submit" value=" Добави "/></td></tr>
        </table>
        <?php  if($uspe['usp']) { echo $uspe['usp']; } ?>
        </form>
        <?php
      require ('config.php');
     

      $sel = mysql_query("SELECT * FROM book ORDER BY id DESC") or die (mysql_error());
      echo '<table>';
      while($row = mysql_fetch_array($sel))
      {

          echo "
              <tr><td><b>От</b>: $row[avtor]</tr></td>
              <tr><td><b>Коментар:</b> $row[text]</tr></td>
          <tr><td><b>Дата:</b> $row[date]</tr></td>
          <tr><td><b>IP Adress:</b> $row[ip]</tr></td>
          <tr><td><hr></td></tr>
";
      }
      echo '</table>';
      $text=trim($_POST['text']);
      $avtor=trim($_POST['avtor']);
      $date=date('<b>Y-d-m  H:i:s'.'</b>');
      $ip=$_SERVER['REMOTE_ADDR'];

     
      if(isset($_POST['submit']))
          {
            if(strlen($avtor)<= 25 AND $avtor != NULL)
                {
                    if(strlen($text)<=150 AND $text != NULL)
                        {
    
	       $uspe['usp']='Вие успешно добавихте новина в базата данни';

      $add = mysql_query("INSERT INTO book (avtor,text,date,ip) VALUES ('$avtor','$text','$date','$ip')");
     
   
          }
           else
              {
              echo 'Максималната дължина на полето КОМЕНТАР е 150 символа';
              }
          }


          else
              {
              echo 'Максималната дължина на полето автор е 25 символа';
          }
          }
        ?>
    </body>
</html>
 
Мисля ,че не обясни проблема си както трябва :idea:
След като зададеш ORDER BY id DESC , новината трябва да излиза най-отгоре (по пътя на логиката) , а щом проблема не е съществувал преди да добавиш ORDER BY id DESC ,най-вероятно ти трябва обратното на DESC ,а именно ASC :idea:
 
Replace каза:
Мисля ,че не обясни проблема си както трябва :idea:
След като зададеш ORDER BY id DESC , новината трябва да излиза най-отгоре (по пътя на логиката) , а щом проблема не е съществувал преди да добавиш ORDER BY id DESC ,най-вероятно ти трябва обратното на DESC ,а именно ASC :idea:

Оправих се а някой прост код може ли да вградиш за странициране примерно по 5 резултата на страница
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<form method="post" action="">
<table>
<tr><td> От:</td><td> <input type="text" name="avtor"/></td></tr>
<tr><td> Коментар:</td><td> <textarea name="text" cols="45" rows="3"></textarea></td></tr>
<tr><td> </td><td> <input type="submit" name="submit" value=" Добави "/></td></tr>
</table>
<?php if($uspe['usp']) { echo $uspe['usp']; } ?>
</form>
<?php
require ('config.php');

$broinastranica = 5;
$pageNum = 1;
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$redove = ($pageNum - 1) * $broinastranica;

$query = "SELECT COUNT(id) AS numrows FROM `book`";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];


$maxPage = ceil($numrows/$broinastranica);

$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';

for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href=\"$self?page=$page\">$page</a> ";
}
}

if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <font color=orange><a href=\"$self?page=$page\"> [<] </a></font> ";

$parva = " <font color=orange><a href=\"$self?page=1\">[първа]</a></font> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}


$sel = mysql_query("SELECT * FROM book ORDER BY id DESC LIMIT $redove, $broinastranica") or die (mysql_error());
echo '<table>';
while($row = mysql_fetch_array($sel))
{

echo "
<tr><td><b>От</b>: $row[avtor]</tr></td>
<tr><td><b>Коментар:</b> $row[text]</tr></td>
<tr><td><b>Дата:</b> $row[date]</tr></td>
<tr><td><b>IP Adress:</b> $row[ip]</tr></td>
<tr><td><hr></td></tr>
";
}
echo "<font color = '#000' />Страница: </font>";
echo "<font color = '#000' />$nomeranastranici</font>";
echo '</table>';
$text=trim($_POST['text']);
$avtor=trim($_POST['avtor']);
$date=date('<b>Y-d-m H:i:s'.'</b>');
$ip=$_SERVER['REMOTE_ADDR'];


if(isset($_POST['submit']))
{
if(strlen($avtor)<= 25 AND $avtor != NULL)
{
if(strlen($text)<=150 AND $text != NULL)
{

$uspe['usp']='Вие успешно добавихте новина в базата данни';

$add = mysql_query("INSERT INTO book (avtor,text,date,ip) VALUES ('$avtor','$text','$date','$ip')");


}
else
{
echo 'Максималната дължина на полето КОМЕНТАР е 150 символа';
}
}


else
{
echo 'Максималната дължина на полето автор е 25 символа';
}
}
?>
</body>
</html>
 
justspy каза:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<form method="post" action="">
<table>
<tr><td> От:</td><td> <input type="text" name="avtor"/></td></tr>
<tr><td> Коментар:</td><td> <textarea name="text" cols="45" rows="3"></textarea></td></tr>
<tr><td> </td><td> <input type="submit" name="submit" value=" Добави "/></td></tr>
</table>
<?php if($uspe['usp']) { echo $uspe['usp']; } ?>
</form>
<?php
require ('config.php');

$broinastranica = 5;
$pageNum = 1;
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$redove = ($pageNum - 1) * $broinastranica;

$query = "SELECT COUNT(id) AS numrows FROM `book`";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];


$maxPage = ceil($numrows/$broinastranica);

$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';

for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href="$self?page=$page">$page</a> ";
}
}

if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <font color=orange><a href="$self?page=$page"> [<] </a></font> ";

$parva = " <font color=orange><a href="$self?page=1">[първа]</a></font> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}


$sel = mysql_query("SELECT * FROM book ORDER BY id DESC LIMIT $redove, $broinastranica") or die (mysql_error());
echo '<table>';
while($row = mysql_fetch_array($sel))
{

echo "
<tr><td><b>От</b>: $row[avtor]</tr></td>
<tr><td><b>Коментар:</b> $row[text]</tr></td>
<tr><td><b>Дата:</b> $row[date]</tr></td>
<tr><td><b>IP Adress:</b> $row[ip]</tr></td>
<tr><td><hr></td></tr>
";
}
echo "<font color = '#000' />Страница: </font>";
echo "<font color = '#000' />$nomeranastranici</font>";
echo '</table>';
$text=trim($_POST['text']);
$avtor=trim($_POST['avtor']);
$date=date('<b>Y-d-m H:i:s'.'</b>');
$ip=$_SERVER['REMOTE_ADDR'];


if(isset($_POST['submit']))
{
if(strlen($avtor)<= 25 AND $avtor != NULL)
{
if(strlen($text)<=150 AND $text != NULL)
{

$uspe['usp']='Вие успешно добавихте новина в базата данни';

$add = mysql_query("INSERT INTO book (avtor,text,date,ip) VALUES ('$avtor','$text','$date','$ip')");


}
else
{
echo 'Максималната дължина на полето КОМЕНТАР е 150 символа';
}
}


else
{
echo 'Максималната дължина на полето автор е 25 символа';
}
}
?>

+1
</body>
</html>
 
Ето ти и от мен едно просто примерче
<?php
$perpage = 2; // тук задаваш по колко резултата на страница да ти се показват
$page = (!isset($_GET['page']) || !is_numeric($_GET['page'])) ? 1 : intval($_GET['page']);
$limit = ($perpage * $page) - $perpage;
$query = mysql_query("SELECT * FROM `book` ORDER BY `id` DESC LIMIT ".$limit.",".$perpage."")or die(mysql_error());
while ($userdata = mysql_fetch_object($query)) {
echo $userdata->username."<br />";
}
$all = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `book`"),0,0)or die(mysql_error());
$prev = ($page <= 1) ? "Prev" : "<a href=\"".$_SERVER['PHP_SELF']."?page=".($_GET['page'] - 1)."\">Prev</a>";
$next = ($page >= ceil($all/$perpage)) ? "Следваща" : "<a href=\"".$_SERVER['PHP_SELF']."?page=".($_GET['page'] + 1)."\">Next</a>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=1\">First</a> ".$prev." ".$page." ".$next." <a href=\"".$_SERVER['PHP_SELF']."?page=".(ceil($all/$perpage)).">Last</a>";
?>
 

Back
Горе