Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] zle wyświetla mi wiadomości
Forum PHP.pl > Forum > Przedszkole
fakenmr
Witam zrobiłem formularz kontaktowy który po wysłaniu zapisuje dane do bazy danych
Następnie zrobiłem skrzynkę odbiorczą i tam pokazuje wiadomości jedna pod 2-gą i po kliknięciu na wybraną wiadomość przycisk pokaż pokazuje 1-szą wiadomość poprawnie a jak kliknę wiadomość następną wyświetla tę samą wiadomość którą otworzyłem wcześniej i nie wiem o co chodzi sad.gif Może tu znajdę jakieś pomocne podpowiedzi jak to zrobić sad.gif Dodam, że usuwa poprawne id wiadomości sad.gif


PLIK ODBIORCZA.PHP

  1. <?php require_once('../Connections/config.php'); ?>
  2. <?php
  3. if (!function_exists("GetSQLValueString")) {
  4. function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
  5. {
  6. if (PHP_VERSION < 6) {
  7. $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  8. }
  9.  
  10. $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
  11.  
  12. switch ($theType) {
  13. case "text":
  14. $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  15. break;
  16. case "long":
  17. case "int":
  18. $theValue = ($theValue != "") ? intval($theValue) : "NULL";
  19. break;
  20. case "double":
  21. $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
  22. break;
  23. case "date":
  24. $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  25. break;
  26. case "defined":
  27. $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
  28. break;
  29. }
  30. return $theValue;
  31. }
  32. }
  33.  
  34. mysql_select_db($database_config, $config);
  35. $query_rsreklamacja = "SELECT reklamacja.wiad_id, reklamacja.nr_nadania, reklamacja.`data`, reklamacja.tem_wiad FROM reklamacja WHERE reklamacja.`data` ORDER BY reklamacja.`data` DESC";
  36. $rsreklamacja = mysql_query($query_rsreklamacja, $config) or die(mysql_error());
  37. $row_rsreklamacja = mysql_fetch_assoc($rsreklamacja);
  38. $totalRows_rsreklamacja = mysql_num_rows($rsreklamacja);
  39. ?>
  40. <?
  41. include '../config.php';
  42. if(!$_SESSION['user']['Login']){header('location: login.php');exit;}
  43. ?>


Wyświetlanie wiadomości jedna pod drugą


  1. <p><table width="0" border="0" id="tbl_repeat">
  2. <tr>
  3. <th scope="col">Nr Nadania</th>
  4. <th scope="col">Temat Wiadomości</th>
  5. <th scope="col" style="width:15%">Data Wiadomości</th>
  6. <th scope="col" style="width:10%">Pokaż </th>
  7. </tr>
  8. <?php do { ?>
  9. <tr>
  10. <td><?php echo $row_rsreklamacja['nr_nadania']; ?></td>
  11. <td><?php echo $_tem_wiad[$row_rsreklamacja['tem_wiad']]; ?></td>
  12. <td><?php echo $row_rsreklamacja['data']; ?></td>
  13. <td><a href="pokaz.php?id=<?php echo $row_rsreklamacja['wiad_id']; ?>"><input name="" type="button" value="Pokaż"></a></td>
  14. </tr>
  15. <?php } while ($row_rsreklamacja = mysql_fetch_assoc($rsreklamacja)); ?>
  16. </table>




PLIK POKAŻ.PHP

  1. <?php require_once('../Connections/config.php'); ?>
  2. <?php
  3. if (!function_exists("GetSQLValueString")) {
  4. function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
  5. {
  6. if (PHP_VERSION < 6) {
  7. $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  8. }
  9.  
  10. $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
  11.  
  12. switch ($theType) {
  13. case "text":
  14. $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  15. break;
  16. case "long":
  17. case "int":
  18. $theValue = ($theValue != "") ? intval($theValue) : "NULL";
  19. break;
  20. case "double":
  21. $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
  22. break;
  23. case "date":
  24. $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  25. break;
  26. case "defined":
  27. $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
  28. break;
  29. }
  30. return $theValue;
  31. }
  32. }
  33.  
  34. mysql_select_db($database_config, $config);
  35. $query_Recordset1 = "SELECT reklamacja.wiad_id, reklamacja.nr_nadania, reklamacja.imie_rekl, reklamacja.nazwisko_rekl, reklamacja.ulica_rekl, reklamacja.kod_poczt_rekl, reklamacja.miasto_rekl, reklamacja.tel_rekl, reklamacja.mail, reklamacja.`data`, reklamacja.tresc, reklamacja.tem_wiad FROM reklamacja";
  36. $Recordset1 = mysql_query($query_Recordset1, $config) or die(mysql_error());
  37. $row_Recordset1 = mysql_fetch_assoc($Recordset1);
  38. $totalRows_Recordset1 = mysql_num_rows($Recordset1);mysql_select_db($database_config, $config);
  39. $query_Recordset1 = "SELECT reklamacja.wiad_id, reklamacja.nr_nadania, reklamacja.imie_rekl, reklamacja.nazwisko_rekl, reklamacja.ulica_rekl, reklamacja.kod_poczt_rekl, reklamacja.miasto_rekl, reklamacja.tel_rekl, reklamacja.mail, reklamacja.`data`, reklamacja.tresc, reklamacja.tem_wiad FROM reklamacja ORDER BY reklamacja.`data` DESC";
  40. $Recordset1 = mysql_query($query_Recordset1, $config) or die(mysql_error());
  41. $row_Recordset1 = mysql_fetch_assoc($Recordset1);
  42. $totalRows_Recordset1 = mysql_num_rows($Recordset1);
  43. ?>
  44. <?
  45. include '../config.php';
  46. if(!$_SESSION['user']['Login']){header('location: login.php');exit;}
  47. ?>



Część dalsza która pokazuje wiadomość

  1. <table width="77%" border="0" >
  2. <tr>
  3. <th width="27%" scope="row">Nr Nadania:</th>
  4. <td width="73%"><?php echo $row_Recordset1['nr_nadania']; ?></td>
  5. </tr>
  6. <tr>
  7. <th scope="row">Imie :</th>
  8. <td><?php echo $row_Recordset1['imie_rekl']; ?></td>
  9. </tr>
  10. <tr>
  11. <th scope="row">Nazwisko:</th>
  12. <td><?php echo $row_Recordset1['nazwisko_rekl']; ?></td>
  13. </tr>
  14. <tr>
  15. <th scope="row">Ulica:</th>
  16. <td><?php echo $row_Recordset1['ulica_rekl']; ?></td>
  17. </tr>
  18. <tr>
  19. <th scope="row">Kod Pocztowy:</th>
  20. <td><?php echo $row_Recordset1['kod_poczt_rekl']; ?></td>
  21. </tr>
  22. <tr>
  23. <th scope="row">Miasto:</th>
  24. <td><?php echo $row_Recordset1['miasto_rekl']; ?></td>
  25. </tr>
  26. <tr>
  27. <th scope="row">Telefon:</th>
  28. <td><?php echo $row_Recordset1['tel_rekl']; ?></td>
  29. </tr>
  30. <tr>
  31. <th scope="row">E-mail:</th>
  32. <td><a href="mailto:<?php echo $row_Recordset1['mail']; ?>"><?php echo $row_Recordset1['mail']; ?></td>
  33. </tr>
  34. <tr>
  35. <th scope="row">Data Wiadomości:</th>
  36. <td><?php echo $row_Recordset1['data']; ?></td>
  37. </tr>
  38. <tr>
  39. <th scope="row">Temat Wiadomości:</th>
  40. <td><?php echo $_tem_wiad[$row_Recordset1['tem_wiad']]; ?></td>
  41. </tr>
  42. <tr>
  43. <th scope="row">Wiadomość:</th>
  44. <td><?php echo $row_Recordset1['tresc']; ?></td>
  45. </tr>
  46. <tr>
  47. <th scope="row">&nbsp;</th>
  48. <td style="width:-20%; text-align: center;"><a href="usun.php?id=<?php echo $row_Recordset1['wiad_id']; ?>">Usuń Wiadomość</a></td>
  49. </tr>
  50. </table>





Dziękuję za wszelkie podpowiedzi smile.gif
IProSoft
Dwie rzeczy:
Co robi ten warunek?
Kod
WHERE reklamacja.`data` ORDER BY

Masz link:
Kod
<td><a href="pokaz.php?id=<?php echo $row_rsreklamacja['wiad_id']; ?>">

np pokaz.php?id=1

ale w pliku pokaz.php wcale nie korzystasz z $_GET['id'] więc za każdym razem z bazy pobierasz pierwszą wiadomość.
fakenmr
Cytat(IProSoft @ 28.05.2012, 19:34:36 ) *
Dwie rzeczy:
Co robi ten warunek?
Kod
WHERE reklamacja.`data` ORDER BY

Masz link:
Kod
<td><a href="pokaz.php?id=<?php echo $row_rsreklamacja['wiad_id']; ?>">

np pokaz.php?id=1

ale w pliku pokaz.php wcale nie korzystasz z $_GET['id'] więc za każdym razem z bazy pobierasz pierwszą wiadomość.



no próbowałem tym $_GET['id'] ale mi nie wychodzi to ;/ może jeszcze jakaś mała podpowiedźquestionmark.gifquestionmark.gif

?czy mam wstawić te $_GET['id'] w $query_Recordset1

a to
Kod
WHERE reklamacja.`data` ORDER BY
to żeby datami układało mi wiadomości tongue.gif
IProSoft
  1. $query_rsreklamacja = "SELECT reklamacja.wiad_id, reklamacja.nr_nadania, reklamacja.`data`, reklamacja.tem_wiad FROM reklamacja WHERE reklamacja.`data` ORDER BY reklamacja.`data` DESC";

zastąp
  1. $query_rsreklamacja = "SELECT wiad_id,nr_nadania,data, tem_wiad FROM reklamacja ORDER BY data DESC";

ponieważ sortowanie odbywa się poprzez ORDER BY, a nie WHERE, które u Ciebie nic nie robi.

A w POKAŻ.PHP zobacz, że w liniach 35-38 i 39-42 masz praktycznie to samo, a jedno nadpisujesz drugim.
Zastąp linie 35-42 tym:
  1. $query_Recordset1 = "SELECT * FROM `reklamacja` WHERE `wiad_id` = '".intval($_GET['id'])."' LIMIT 1";
  2. $Recordset1 = mysql_query($query_Recordset1, $config) or die(mysql_error());
  3. $row_Recordset1 = mysql_fetch_assoc($Recordset1);
  4. $totalRows_Recordset1 = mysql_num_rows($Recordset1);


Jeśli coś nie tak to musisz trochę kombinować smile.gif
fakenmr
Cytat(IProSoft @ 28.05.2012, 22:18:48 ) *
  1. $query_rsreklamacja = "SELECT reklamacja.wiad_id, reklamacja.nr_nadania, reklamacja.`data`, reklamacja.tem_wiad FROM reklamacja WHERE reklamacja.`data` ORDER BY reklamacja.`data` DESC";

zastąp
  1. $query_rsreklamacja = "SELECT wiad_id,nr_nadania,data, tem_wiad FROM reklamacja ORDER BY data DESC";

ponieważ sortowanie odbywa się poprzez ORDER BY, a nie WHERE, które u Ciebie nic nie robi.

A w POKAŻ.PHP zobacz, że w liniach 35-38 i 39-42 masz praktycznie to samo, a jedno nadpisujesz drugim.
Zastąp linie 35-42 tym:
  1. $query_Recordset1 = "SELECT * FROM `reklamacja` WHERE `wiad_id` = '".intval($_GET['id'])."' LIMIT 1";
  2. $Recordset1 = mysql_query($query_Recordset1, $config) or die(mysql_error());
  3. $row_Recordset1 = mysql_fetch_assoc($Recordset1);
  4. $totalRows_Recordset1 = mysql_num_rows($Recordset1);


Jeśli coś nie tak to musisz trochę kombinować smile.gif



jestes debeściak masz pomógł i podziękował działa jak ta lala biggrin.gif
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.