Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]portal ogłoszeniowy
fantaff
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 26.11.2010

Ostrzeżenie: (0%)
-----


witam

przyszlo mi napisac projekt na studia. ma to byc portal ogloszeniowy (sprzedaz samochodow). prosilbym o pomoc z ponizszymi kodami. i kilkoma poradami.

wyszukiwarka ogloszen:

mam formularz, mam wyszukiwarke. wyszukiwarka szuka...kod dziala ale nie mam pojecia jak wyswietlic rekordy. wszedlem w taki zaulek ze juz nie wiem co z tym zrobic.

formularz:
  1. <table width="821" border="0" align="center" cellspacing="20" id="glowna">
  2. <tr>
  3. <td width="779">
  4.  
  5. <form action="search.php" method="post"><div>
  6. <label>
  7. <table width="700" border="0" cellspacing="5">
  8. <tr>
  9. <td colspan="3" align="center"><p><strong>Zaawansowane szukanie</strong></p>
  10. <p>&nbsp;</p></td>
  11. </tr>
  12. <tr>
  13. <td width="174">Marka:</td>
  14. <td width="607"><select name="marka" id="marka">
  15. <option></option>
  16. <option>Acura</option>
  17. <option>Alfa Romeo</option>
  18. <option>Aston Martin</option>
  19. <option>Audi</option>
  20. <option>BMW</option>
  21. <option>Bentley</option>
  22. <option>Chevrolet</option>
  23. <option>Chrysler</option>
  24. <option>Citroen</option>
  25. <option>Daewoo</option>
  26. <option>Dodge</option>
  27. <option>Ferrari</option>
  28. <option>Fiat</option>
  29. <option>Ford</option>
  30. <option>Honda</option>
  31. <option>Hyundai</option>
  32. <option>Jaguar</option>
  33. <option>Kia</option>
  34. <option>Lancia</option>
  35. <option>Mazda</option>
  36. <option>Mercedes-Benz</option>
  37. <option>Mitsubishi</option>
  38. <option>Nissan</option>
  39. <option>Opel</option>
  40. <option>Peugeot</option>
  41. <option>Porsche</option>
  42. <option>Renault</option>
  43. <option>Skoda</option>
  44. <option>Suzuki</option>
  45. <option>Toyota</option>
  46. <option>Volkswagen</option>
  47. <option>Volvo</option>
  48. </select></td>
  49. <td width="607">&nbsp;</td>
  50. </tr>
  51. <tr>
  52. <td>Model: </td>
  53. <td><input type="text" name="model" /></td>
  54. <td>&nbsp;</td>
  55. </tr>
  56. <tr>
  57. <td>Typ nadwozia: </td>
  58. <td><select name="typ">
  59. <option></option>
  60. <option>Cabrio</option>
  61. <option>Hatchback</option>
  62. <option>Kombi</option>
  63. <option>Pickup</option>
  64. <option>SUV</option>
  65. <option>Sedan</option>
  66. <option>Coupe</option>
  67. <option>Van</option>
  68. <option>Terenowy</option>
  69. </select></td>
  70. <td>&nbsp;</td>
  71. </tr>
  72. <tr>
  73. <td>Pojemność silnika od:</td>
  74. <td>od
  75. <input type="text" name="poj_silnika_od" />
  76. cm3 </td>
  77. <td>do
  78. <input type="text" name="poj_silnika_do" />
  79. cm3</td>
  80. </tr>
  81. <tr>
  82. <td>Rodzaj paliwa:</td>
  83. <td><select name="rodzaj_silnika" />
  84. <option></option>
  85. <option>Benzyna</option>
  86. <option>Benzyna+LPG</option>
  87. <option>Diesel</option>
  88. <option>Hybryda</option></td>
  89. <td>&nbsp;</td>
  90. </tr>
  91. <tr>
  92. <td>Rok produkcji: od</td>
  93. <td>od
  94. <input type="text" name="rok_produkcji_od" /></td>
  95. <td>do
  96. <input type="text" name="rok_produkcji_do" /></td>
  97. </tr>
  98. <tr>
  99. <td>Moc silnika od:</td>
  100. <td>od
  101. <input type="text" name="moc_silnika_od" />
  102. KM </td>
  103. <td>do
  104. <input type="text" name="moc_silnika_do" />
  105. KM </td>
  106. </tr>
  107. <tr>
  108. <td>Przebieg od: </td>
  109. <td>od
  110. <input type="text" name="przebieg_od" />
  111. km </td>
  112. <td>do
  113. <input type="text" name="przebieg_do" />
  114. km </td>
  115. </tr>
  116. <tr>
  117. <td>Skrzynia biegów: </td>
  118. <td><select name="skrzynia_biegow" />
  119. <option></option>
  120. <option>Manualna</option>
  121. <option>Automatyczna</option></td>
  122. <td>&nbsp;</td>
  123. </tr>
  124. <tr>
  125. <td>Stan: </td>
  126. <td><select name="stan" />
  127. <option></option>
  128. <option>Nowy</option>
  129. <option>Uzywany</option></td>
  130. <td>&nbsp;</td>
  131. </tr>
  132. <tr>
  133. <td>Uszkodzony:</td>
  134. <td><select name="uszkodzony" />
  135. <option></option>
  136. <option>Tak</option>
  137. <option>Nie</option></td>
  138. <td>&nbsp;</td>
  139. </tr>
  140. <tr>
  141. <td>Cena</td>
  142. <td>od
  143. <input type="text" name="cena_od" />
  144. </td>
  145. <td>do
  146. <input type="text" name="cena_do" />
  147. </td>
  148. </tr>
  149. </table>
  150. <option></option><br />
  151.  
  152. <p align="center"><input type="submit" name="znajdz" value="Szukaj" />
  153. </p><br />
  154. </form>


i nieszczesna wyszukiwarka:
  1. <?php
  2.  
  3. // łączymy się z bazą danych
  4. $connection = @mysql_connect('localhost', 'test', 'test')
  5. or die('Brak połączenia z serwerem MySQL');
  6. $db = @mysql_select_db('samochody', $connection)
  7. or die('Nie mogę połączyć się z bazą danych');
  8.  
  9. echo'<h2>Wyniki wyszukiwania</h2>';
  10.  
  11. if(isset($_POST['znajdz']))
  12. {
  13.  
  14. $wh = array();
  15. if (!empty($_POST['marka']))
  16. $wh[] = "MARKA LIKE '%$marka%'";
  17. if (!empty($_POST['model']))
  18. $wh[] = "MODEL LIKE '%$model%'";
  19. if (!empty($_POST['typ']))
  20. $wh[] = "TYP LIKE '%$typ%'";
  21. if (!empty($_POST['rodzaj_silnika']))
  22. $wh[] = "RODZAJ_SILNIKA LIKE '%$rodzaj_silnika%'";
  23. if (!empty($_POST['poj_silnika_od']))
  24. $wh[] = 'POJ_SILNIKA >= '.$_POST['poj_silnika_od'];
  25. if (!empty($_POST['poj_silnika_do']))
  26. $wh[] = 'POJ_SILNIKA <= '.$_POST['poj_silnika_do'];
  27. if (!empty($_POST['moc_silnika_od']))
  28. $wh[] = 'MOC_SILNIKA >= '.$_POST['moc_silnika_od'];
  29. if (!empty($_POST['moc_silnika_do']))
  30. $wh[] = 'MOC_SILNIKA <= '.$_POST['moc_silnika_do'];
  31. if (!empty($_POST['przebieg_od']))
  32. $wh[] = 'PRZEBIEG >= '.$_POST['przebieg_od'];
  33. if (!empty($_POST['przebieg_do']))
  34. $wh[] = 'PRZEBIEG <= '.$_POST['przebieg_do'];
  35. if (!empty($_POST['skrzynia_biegow']))
  36. $wh[] = "SKRZYNIA_BIEGOW LIKE '%$skrzynia_biegow%'";
  37. if (!empty($_POST['stan']))
  38. $wh[] = "STAN LIKE '%$stan%'";
  39. if (!empty($_POST['uszkodzony']))
  40. $wh[] = "USZKODZONY LIKE '%$uszkodzony%'";
  41. if (!empty($_POST['cena_od']))
  42. $wh[] = 'CENA >= '.$_POST['cena_od'];
  43. if (!empty($_POST['cena_do']))
  44. $wh[] = 'CENA <= '.$_POST['cena_do'];
  45. print '<pre>';
  46. print_r($_POST);
  47. print '</pre>';
  48.  
  49. if (!empty($wh))
  50. $where = 'where '.implode(' and ', $wh);
  51. else
  52. $where = '';
  53. $zapytanie = 'SELECT * FROM `samochod` '.$where;
  54. $wynik = mysql_query($zapytanie);
  55.  
  56. ?>
  57. <table cellpadding="2" cellspacing="2" border=0>
  58. <tr>
  59. <th></th>
  60. <th><font face="Arial, Helvetica, sans-serif">Nazwa</font></th>
  61. <th><font face="Arial, Helvetica, sans-serif">Przebieg</font></th>
  62. <th><font face="Arial, Helvetica, sans-serif">Cena</font></th>
  63. <tr>
  64. <?php
  65. while( $wiersz = mysql_fetch_array($wynik) )
  66.  
  67. {
  68.  
  69. echo "<tr>";
  70. echo "<td></td>";
  71. echo "<td>".$wiersz['MARKA']."</td>";
  72. echo "<td>".$wiersz['PRZEBIEG']."</td>";
  73. echo "<td>".$wiersz['MODEL']."</td>";
  74. echo "</tr>";
  75.  
  76. }
  77. ?>
  78. </table>
  79. <?php
  80. print '<pre>';
  81. print_r($_POST);
  82. print '</pre>';
  83. mysql_close($connection);
  84. }
  85. ?>


i kilka pytan:
1. najprawdopodopodobniej znajde informacje w internecie ale nie jestem pewien czy bede ich poprawnie uzywal takze chcialbym wiedziec czy sa jakies wytyczne/porady jak powinno sie wyswietlac ogloszenia z bazy danych i jak je linkowac.

2. kiedy w formularzu powyzej klikne "szukaj" wyskakuja mi rekordy na bialym tle. jak zrobic aby wyswitlalo mi tak jak reszte stron? odrazu powiem ze index php wyglada mniej wiecej tak:
  1. <table width="1024" border="1" id="glowna" align="center">
  2. <tr>
  3. <td colspan="4" id="top2"><img src="grafika/logo.jpg" width="800" height="212" /></td>
  4. </tr>
  5. <tr>
  6. <td id="top"><a href="index.php?menu=glowna">Strona Główna</a></td>
  7. <td id="top"><a href="index.php?menu=ogloszenia">Ogłoszenia</a></td>
  8. <td id="top"><a href="index.php?menu=dodaj">Dodaj Ogłoszenie</a></td>
  9. <td id="top"><a href="index.php?menu=szukaj">Szukaj</a></td>
  10. </tr>
  11. <tr>
  12. <td colspan="4">
  13.  
  14. <?php
  15. if($_GET["menu"]=="glowna"){
  16. include("glowna.php");
  17. }else if ($_GET["menu"]=="ogloszenia"){
  18. include("ogloszenia.php");
  19. }else if ($_GET["menu"]=="dodaj"){
  20. include("dodaj.php");
  21. }else if ($_GET["menu"]=="szukaj"){
  22. include("szukaj.php");
  23. }else{
  24. echo "";
  25. }
  26. ?>
  27. </td>
  28. </tr>
  29. <tr>
  30. <td colspan="4" align="right"><font size="-3" color="#FF0000">Copyright Motox</font></td>
  31. </tr>
  32. </table>


czyli chcialbym zeby wynik szukania trafial do komorki tabeli w index.php tak jak reszta podstron. lub moze to sie robi inaczej?

3. jak dodawac zdjecia w formularzu kiedy chcialbym aby ogloszenie dodawac mogli niezarejestrowani uzytkownicy? myslalem nad: formularz wysyla zdjecie do katalogu zdjecia, a link do pliku zapisuje w bazie danych, no i w bazie przypisac zdjeciu numer ogloszenia. probowalem w ten sposob ale napotkalem problemy. czy jest jakis lepszy sposob?

z gory dzieki za jakiekolwiek uwagi/rady.


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Daiquiri
post
Post #2





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




1. Łopatologicznie rzecz ujmując (IMG:style_emoticons/default/smile.gif) :
Możesz stworzyć sobie stronę ogloszenie.php a w niej dać warunek
  1. if(isset($_GET['ID']) { // jeżeli ustawiono ID
  2. // tutaj pobieranie danych z bazy, o ogłoszeniu np. SELECT * FROM jakaś tabela WHERE ID = $_GET['ID'];
  3. // a następnie:
  4. echo $pobrane_dane['tytul'];
  5. echo $pobrane_dane['tresc'];
  6. }
Pseudokod oczywiście przykładowy.

Linki w liście wyglądałyby wtedy następująco: <a href="ogloszenie.php?ID=1">link</a>, gdzie 1 jest przykładowa. W jej miejsce podstawiasz zmienną z ID ogłoszenia w pętli, inną dla każdego ogłoszenia. Nie musi to być oczywiście ID, tylko dowolne pole, które jednoznacznie identyfikuje Ci pojedyncze ogłoszenie. Dzięki temu strona ogloszenie.php dynamicznie załaduje Ci zawartość wybranego ogłoszenia. Ta strona jest jednocześnie Twoim szablonem.

To jest tylko przykład (IMG:style_emoticons/default/smile.gif) . Możesz to zrobić zupełnie inaczej.

2. Nie rozumiem (IMG:style_emoticons/default/smile.gif) . Możesz w swój kod ładować tyle CSSa ile dusza zapragnie.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 20:10