Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: buton "wiecej informacji"=mysql
Forum PHP.pl > Forum > Przedszkole
kop23
mam baze danych z samochodami marka,model,popjemnosc,predkoscmax itd. na stronie php wywietlaja mi sie tylko dane:
marka
model
i przycisk <<wiecej informacji

Jak zrobic aby po nasicnienciu tego przycisku()<<wiecej informacji pokazywaly sie pozostale informacje?
TomASS
W nowym oknie? W nowej warstwie? W Ramce? Pod spodem? ..... rozwiązań jest chyba tyle ile użytkowników na forum tongue.gif
kop23
no wyglada to na stonie mnie wiecej tak
----------------------------------------
|marka: fiat |
|model : uno |
|<<wiecej info |
-----------------------------------------
----------------------------------------
|marka: mazda |
|model : 32f |
|<<wiecej info |
-----------------------------------------
a po nacisnienciu na przycisk np. w fiacie:
----------------------------------------
|marka: fiat |
|model : uno |
|pojemnosc: 1,4 |
|liczba miejsc:4 |
|mazpredkosc:150 |
|>>wroc(przycisk) |
-----------------------------------------
----------------------------------------
|marka: mazda |
|model : 32f |
|<<wiecej info |
-----------------------------------------
TomASS
To taka podpowiedź:

1. Robisz sobie pod głónymi danymi jakiegość div`a:
  1. <div id="wiecej">
  2. tutaj wiecej informacji
  3. </div>


2. ustawiasz jego display na none:
  1. style="display: none;"


3. Robisz przycisk (button) i do niego przypisujesz funkcję: pokaz() i funkcje ukryj() (tylko tak z pomyślunkiem smile.gif ):
  1. function $(id){
  2. return document.getElementById(id);
  3. }
  4.  
  5. function pokaz(){
  6. $('wiecej').style.display="";
  7. }
  8.  
  9. function ukryj(){
  10. $('wiecej').style.display="none";
  11. }


Powodzenia
Guest
Ajax albo zwykły JS...

Pobierasz te dane do diva ".ukryty". Po kliknięciu na button robisz display:block dla .ukryty'ego ;]

A co do Ajaksu - pobaw się jakąś prostą biblioteką, np. advAjax...
kop23
ee sadsmiley02.gif jednak sie pospieszylem z entuzjazmem.
zrobile tak jak pisaliscie uzuwlem diva i js ale po nacisnienciu przycisku czy to w fiacie czy mazdzie to pokazuje wiecej informacji ale tylko do fiata i tak za kazdym razem. nie wiem co jest grane
a wyglada to tak mniewiecej:
  1. <link rel="stylesheet" href="tablica.css" type="text/css">
  2. <script>
  3. function $(id){
  4. return document.getElementById(id);
  5. }
  6.  
  7. function pokaz(){
  8. $('d_tresc').style.display="";
  9. }
  10.  
  11. function ukryj(){
  12. $('d_tresc').style.display="none";
  13. }
  14. </script>
  15. <?php
  16.  
  17. $conn = mysql_connect( 'localhost', 'zzzzzzzz', 'aaaaaaaaaaa' );
  18. mysql_select_db( 'db',$conn );
  19. $zapytanie = 'SELECT * FROM xxxxxxxxxxxxx'; 
  20. $wynik = mysql_query( $zapytanie );
  21.  
  22. echo '<table width="100%" height="150" border="1" cellpadding="0" cellspacing="0">';
  23.  
  24. while( $wpis = mysql_fetch_assoc( $wynik ) )
  25. { 
  26.  
  27.  
  28. echo '<tr><td><b>marka:</b>' . $wpis['marka'] . '</td></tr>';
  29. echo '<tr><td><b>model:</b>'.$wpis['model'].'</td></tr>'; 
  30.  
  31.  
  32.  echo '<tr><td><b><div id="d_tresc" style="display: none;">Tresc :</b>'.$wpis['tresc'].'</div></td></tr>';
  33. echo '<tr><td>'.'<form>
  34. <input type="button" onclick="pokaz()" value="wiecej szczegółow">
  35. </form>'.'</td></tr>';
  36. echo '<tr><td>'.'<form>
  37. <input type="button" onclick="ukryj()" value="schowaj">
  38. </form>'.'</td></tr>';
  39.  
  40.  
  41. }
  42.  
  43. echo '</table>';
  44.  
  45. mysql_close( $conn );
  46.  
  47. ?>
mike
Właśnie zabrałem się do napisania Ci tego, ale poradziłeś sobie :/
---update---
A jednak sobie nie poradziłeś winksmiley.jpg
---


To nic wkleję Ci mój kod:

  1. <?php
  2.  
  3. error_reporting( E_ALL );
  4. ini_set( 'display_errors', 1 );
  5.  
  6. ?>
  7.  
  8. <style type="text/css">
  9. div.hidden {
  10. display: none;
  11. }
  12. </style>
  13.  
  14. <script type="text/javascript">
  15. <!--
  16. function showBox( mode, id )
  17. {
  18. if( mode == 'show' )
  19. {
  20. document.getElementById( 'box_' + id ).style.display = 'block';
  21. }
  22. else
  23. {
  24. document.getElementById( 'box_' + id ).style.display = 'none';
  25. }
  26. return false;
  27. }
  28. -->
  29. </script>
  30.  
  31. <?php
  32.  
  33. $resConnection = mysql_connect( 'localhost', 'user', 'pass' );
  34. mysql_select_db( 'baza', $resConnection );
  35. $strQuery = 'SELECT * FROM blebleble';
  36. $resQueryResult = mysql_query( $strQuery );
  37.  
  38.  
  39. $i = 1;
  40. while( $arrRow = mysql_fetch_assoc( $resQueryResult ) )
  41. {
  42. ?>
  43.  
  44. <div id="car">
  45. <h1><?php echo $arrRow['marka']; ?></h1>
  46. <h2><?php echo $arrRow['model']; ?></h2>
  47. <a href="#" onclick="showBox( 'show', <?php echo $i; ?> );">Szczegóły</a>
  48. <div id="box_<?php echo $i; ?>" class="hidden">
  49. <?php echo $arrRow['more']; ?>
  50. <br />
  51. <a href="#" onclick="showBox( 'hide', <?php echo $i; ?> );">Ukryj</a>
  52. </div>
  53. </div>
  54.  
  55. <?php
  56. $i++;
  57. }
  58.  
  59. ?>
kop23
mike_mech dzieki ale czy moglbys poprawic kod ktory dalem w poprzednim poscie, bo tak jak napisalem ktoregokolowiek nacisne buttona po pokazuje dane z 1 rekordu
TomASS
  1. $('d_tresc').style.display="none";


Tylko jeden element może mieć nazwę d_tresc....ponazywaj każdy z elementów d_tresc inaczej - np. d_tresc1, d_tresc2.

Myślę, że nie ma co się bawić z tym w Ajaxie, aczkolwiek jeśli ktoś chciałby dodać jakiś bajer to czemu nie....
kop23
ale nie moge nazywac kazdego elementu inaczej poniewaz dane te sa dodawane dynamicznie tzn. uzytkownik ze storny dodaje poprzez formularz dane o aucie. pozniej poprzez inna strone jest widoczna cala tabela.
luinnar
Dlaczego tak sądzisz?

Przecież mike_mech pokazał Ci pełny kod łącznie ze zmienianiem nazwy.
Masz wszystko jak na talerzu... tylko kopiuj - wklej.

Popatrz dokładnie co dzieje się w pętli.
kop23
racja troszke to pozmienialem do swoich potrzeb i smiga jak nalezy.
Ale mam jeszcze drugie pytnko :
mam formularz w ktorym uzytkownik wpisuje dane i jest pole data_wygasniencia(czas po ktorym rekord zostanie usutnienty z bazy) i chodzi mi o to jak zrobic aby uzytkownik mogl wybierac ta date w formularzu z listy rozwijanej tak aby w liscie wyboru znajdowaly sie dni:"od dzisiaj"do 30 dni w przyszlosc?
juz sobie poradzilem rolleyes.gif dla zainteresowanych kod:
  1. <select name="select" size="1">
  2. <option>Wybierz</option>
  3. <option><? $data=time();
  4. $dat=date("Y-m-d",$data);echo ($dat); ?></option>
  5. <option><? echo(date("Y-m-d", strtotime("+1 day", $data))) ?></option>
  6. <option><? echo(date("Y-m-d", strtotime("+2 day", $data))) ?></option>
  7. <option><? echo(date("Y-m-d", strtotime("+3 day", $data))) ?></option>
  8. <option><? echo(date("Y-m-d", strtotime("+4 day", $data))) ?></option>
  9. <option><? echo(date("Y-m-d", strtotime("+5 day", $data))) ?></option>
  10. <option><? echo(date("Y-m-d", strtotime("+6 day", $data))) ?></option>
  11. <option><? echo(date("Y-m-d", strtotime("+7 day", $data))) ?></option>
  12. <option><? echo(date("Y-m-d", strtotime("+8 day", $data))) ?></option>
  13. <option><? echo(date("Y-m-d", strtotime("+9 day", $data))) ?></option>
  14. <option><? echo(date("Y-m-d", strtotime("+10 day", $data))) ?></option>
  15. </select>


kurcze i znowu wróce do do problemu z przyciskiem wiecej.
Wyswietala mi dane z table auta i tak jest na stronie tego pare a przy kazdym przycisk <<wiecej szczegolow po nacisnienciu wyswietla pozostale informacje danego auta ale np. jezeli mam na stornie tych aut 20 i chce zobaczyc <<wiecej szczegolow z auta 20 a wiec na samym dole strony to po nasicnienciu przenosi mnie spowrotem na gore strony i musze zjechac na dol by zobaczyc "wiec szczegolow " z auta 20 .
Jak temu zaradzic? ohmy.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.