Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Tabela + checkbox
Forum PHP.pl > Forum > Przedszkole
thome
Witam,
zrobiłem tabelę, która zawiera informację o klientach. Chciałbym, aby po zaznaczeniu checkboxa zostały wybierane odpowienie pola (imię, nazwiko, mail).
  1. <?php
  2. <table method='get'>
  3. <tr><th></th><th>
  4. ID
  5. </th><th>
  6. <a href="<?php echo $_SERVER['PHP_SELF'];?>?sortuj=imie">Imię</a>
  7. </th><th>
  8. <a href="<?php echo $_SERVER['PHP_SELF'];?>?sortuj=nazwisko">Nazwisko</a>
  9. </th><th>
  10. <a href="<?php echo $_SERVER['PHP_SELF'];?>?sortuj=telefon">Telefon</a></th><th><a href="<?php echo $_SERVER['PHP_SELF'];?>?sortuj=mail">Mail</a> </th>
  11. <th>
  12. <a href="<?php echo $_SERVER['PHP_SELF'];?>?sortuj=miasto">Miasto</a></th><th><a href="<?php echo $_SERVER['PHP_SELF'];?>?sortuj=ulica">Ulica</a> </th>
  13. <th>
  14. <a href="<?php echo $_SERVER['PHP_SELF'];?>?sortuj=kodpocztowy">Kod Pocztowy</a></th></tr>
  15.  
  16. <?php
  17. while ($rekord = mysql_fetch_assoc($klient)) {
  18. ?>
  19. <tr>
  20. <td><input type="checkbox"/></td>
  21. <td><?php echo $rekord['id_klient']; ?></td>
  22. <td><?php echo $rekord['imie'];?></td>
  23. <td><?php echo $rekord['nazwisko'];?></td>
  24. <td><?php echo $rekord['telefon']; ?></td>
  25. <td><?php echo $rekord['mail'];?></td>
  26. <td><?php echo $rekord['miasto'];?></td>
  27. <td><?php echo $rekord['ulica']; ?></td>
  28. <td><?php echo $rekord['kodpocztowy']; ?></td>
  29.  
  30. </td>
  31. </tr>
  32. <?php
  33. }
  34. ?>
  35. </table>
  36. ?>

Prosiłbym o wyrozumiałość, dopiero co zaczynam winksmiley.jpg
sadistic_son
Jeśli dobrze zrozumiałem co znaczy
Cytat
aby po zaznaczeniu checkboxa zostały wybierane odpowienie pola
to:

Przede wszystkim użyj checkboxów w formularzu:
  1. <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
  2. <input type="checkbox" name="nazwisko" />
  3. <input type="checkbox" name="imie" />
  4. <input type="checkbox" name="tel" />
  5. <input type="checkbox" name="miasto" /><input type="submit" name="szukaj" /></form>
A nastepnie w php cos w stylu:
  1. if(isset($_POST['szukaj'])){
  2. $sql="SELECT ";
  3. if(isset($_POST['imie'])){ $sql=$sql.'imie, ';}
  4. if(isset($_POST['nazwisko'])){ $sql=$sql.'nazwisko, ';}
  5. if(isset($_POST['tel'])){ $sql=$sql.'tel, ';}
  6. if(isset($_POST['miasto'])){ $sql=$sql.'miasto, ';}
  7. if(!isset($_POST['imie']) && !isset($_POST['nazwisko']) && !isset($_POST['tel']) && !isset($_POST['miasto'])){ $sql=$sql.'* ';}else{
  8. $sql=substr($sql,0,-2).' '; //obciecie ostatniego przecinka i dodanie spacji
  9. }
  10. $sql=$sql.' FROM tabela ';
  11. $rekord=mysql_query($sql);
  12. }
i dalej działasz standardowo, mysql_num_rows, pętla while itd.
thome
Dokładniej chodzi mi o to, aby z danego rekordu po zaznaczeniu przy nim checkboxa wybierał tylko te 3 wartości i przekazywał je dalej, o tutaj:
  1. <?php
  2. require_once($_SERVER['DOCUMENT_ROOT'].'/lib/phpmailer/class.phpmailer.php');
  3. require_once($_SERVER['DOCUMENT_ROOT'].'/lib/phpmailer/class.smtp.php');
  4.  
  5.  
  6. $mail = new PHPMailer(); // Instantiate your new class
  7. $mail->IsSMTP(); // set mailer to use SMTP
  8. $mail->SMTPAuth = true; // turn on SMTP authentication
  9. $mail->Host = "smtp.gmail.com"; // specify main and backup server
  10. $mail->SMTPSecure= 'ssl'; // Used instead of TLS when only POP mail is selected
  11. $mail->Port = 465; // Used instead of 587 when only POP mail is selected
  12.  
  13. $mail->Username = "xxx";
  14. $mail->Password = "xxx";
  15.  
  16. $mail->From = "xxx"; //Aparently must be the same as the UserName
  17. $mail->FromName = "xxx";
  18.  
  19. $mail->CharSet = "UTF-8";
  20. $mail->AddAddress('$mail', '$imie $nazwisko');
  21. $mail->AddAddress('$mail', '$imie $nazwisko);
  22.  
  23.  
  24.  
  25. $mail->Body = "Wiadomosc";
  26. $mail->AltBody = "Wiadomosc txt";
  27. $mail->Subject = "Temat wiadomosci";
  28.  
  29. if(!$mail->Send())
  30. {
  31. echo "There was an error sending the message:" . $mail->ErrorInfo;
  32.  
  33. exit;
  34. }
  35. else {
  36. echo "Wysłano";}
  37. ?>


Any one?
sadistic_son
Nie rozumiem co właściwie ma realizować kod z pierwszego Twojego okna. Domyślam się, że wyświetlać klientów a te linki poniżej mają ich sortować tak?
Co oznacza <table method="get"> ? Podejrzewam, że to pomyłka, tak?

Pokaż zapytanie, którego używasz w linijce 17 pod postacią zmiennej $klient.

Dalej... jeśli dobrze rozumiem to wyświetlasz klientów a przy każdej ich danej (imie, nazwisko itd.) ma być checkbox, który jeśli zaznaczysz ma zostać wysłany formularzem. Wyjątkowo niejasno wytłumaczyłeś swój problem. Co dalej ma się z tymi danymi stać? Chcesz je mailem wysłać, ale jak? Gdzie imie, gdzie nazwisko. OPISZ PROBLEM DOKŁADNIE exclamation.gif
thome
Mam tabele z klientami. W niej danie takie jak imię, nazwisko itp. Chcę aby po zaznaczeniu przy danym rekordzie (kliencie) checkboxa dane (imię, nazwisko, mail) zostały przeniesione do w/w skryptu który po naciśnięciu "Wyślij" będzie wysyłał do nich maila.

  1. $zapytanie = "SELECT * FROM klient ORDER BY $sortuj ";
  2. $klient = mysql_query($zapytanie) or die ('Błąd: '. mysql_error());
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.