Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Problem z wybieraniem danych z bazy
Forum PHP.pl > Forum > Przedszkole
Buła
Witam.

Mam pewien problem. Napisałem skrypt który wybiera newsy z bazy danych i wyświetla je na stronie.
Jednak nie działa on tak jak powinien - nigdy nie wyświetla najnowszego newsu. Wyświetla przedostatni i starsze, ale nigdy ten najnowszy który dodałem.

Skrypt wygląda tak:
Kod
    $news_result = mysql_query("SELECT * FROM gbsite_news ORDER BY news_id DESC");
    $news_data = mysql_fetch_array($news_result);
    if (mysql_num_rows($news_result) != 0)
    {
        while ($news_data = mysql_fetch_array($news_result))
        {

            $user = $news_data['news_author'];
            $user_result = mysql_query("SELECT `user_id` FROM gbsite_users WHERE user_name = '$user'");
            $user_data = mysql_fetch_array($user_result);

            echo "<br>
            <img src='theme/img/layout/news_cat.gif' align='left' border='0' width='128' height='118'>
            <font size='4'>".$news_data['news_title']."</font> <br>
            <img src='theme/img/layout/news_line.gif' border='0'> <br>
            ".$news_data['news_text']." <br>
            <p align='right'><font color='#808080' size='2'> Dodano: ".$news_data['news_time'].", ".$news_data['news_date']."<br>Napisał: <a href='showprofile.php?id=".$user_data['user_id']."'>".$news_data['news_author']."</a> </font> <br> <br>
            <center><br><img src='theme/img/layout/small_sep.gif' border='0'></center>";
        }
    }


Gdy dodam tutaj dwa dolary:
$news_data = mysql_fetch_array($$news_result);
to wyświetla wszystkie newsy, razem z najnowszym. Ale wtedy dodatkowo na górze wywala błąd:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Wiecie może jak to naprawić?
piotrooo89
daj sobie mysql_error" title="Zobacz w manualu PHP" target="_manual do mysql_query i będziesz wszystko wiedział.
Buła
Mógłbyś nieco objaśnić jak to dać?
Bo nie znam się jeszcze dobrze na php tongue.gif
DREEMus
  1. <?php
  2. $zapytanie = mysql_query( 'select * from `nic`;' ) or die( 'Błąd ...<br />' . mysql_error() );
  3. ?>
pablo_83
  1. <?php
  2. $news_result = ("SELECT * FROM gbsite_news ORDER BY news_id DESC");
  3. $news_data = mysql_query($news_result);
  4. $ile = mysql_num_rows($news_data) or die(mysql_error());
  5.   if($ile>0)
  6.   {
  7.   for($i=0; $i<$ile; $i++)
  8.   {
  9.       $row = mysql_fetch_array($new_data);
  10. echo row['Nazwa kolumn które chcesz wyświetlić']
  11. }
  12. }
  13. ?>


spróbuj coś takiego zrobic
piotrooo89
mogę się coś spytać?

co to jest to, i co ma na celu?

  1. <?php
  2. $ile = mysql_num_rows($news_data) or die(mysql_error());
  3. ?>


po co pokazujesz liczenie po stronie pasera PHP zamiast po stronie serwera SQL, o wydajności nie słyszał?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.