Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmienne wewnętrzne
Forum PHP.pl > Forum > PHP
kangur91
Witam. Mam taki problem. chiałem zorbić tak aby po pobraniu danych z formularza dane checkboxów zostały zapisane w bazie. i porblem polega na tym, że jak wyświetlam zmienną $dod wewnątrz while to ma zawartość 1.2.3.4.5 a jak wyswieltam ją poza while to ma wartosc 5 i jak mam zoribć aby zapisaćcały ten ciąg 1.2.3.4.5 do bazy??



  1. <?php
  2.      include_once ("../authconfig.php");
  3.          if (!($mylink = mysql_connect($dbhost, $dbusername, $dbpass)))
  4.  {
  5.      exit;
  6.  }
  7.  
  8.  mysql_select_db($dbname);
  9.  
  10.  
  11. $wynik = mysql_query("SELECT `id` FROM user");
  12. $wynik1 = mysql_num_rows($wynik);
  13.  
  14.  
  15.  $i=0;
  16. $query2="SELECT * FROM user"; 
  17.          $result2 = mysql_query($query2);  
  18.          while ($line2 = mysql_fetch_array($result2))
  19.          {
  20.              $id = $line2["id"];
  21.              $spr=$_POST[$id];
  22.              $i++;
  23.              if ($spr == "y") { 
  24. $dod = $id."." ; 
  25. }
  26. if ($i==$wynik1)
  27. {
  28.      $zapytanie = "INSERT INTO `authuser` where uname='Mateusz' (`film`) VALUES ('$dod') ";
  29. $idzapytania = mysql_query($zapytanie);
  30. echo $dod;
  31. }
  32.          }
  33.       
  34.  
  35.  
  36.  
  37. ?>
Darti
umieść zapytanie do bazy wewnątrz while ...
Ociu
Jeśli dajesz = to zmienna nadpisuje się, oznacza to, ze otrzymuje ostatnią wartość z pętli. Do łączenia używa się .=
kangur91
Ok. zobiłem tak

CODE
$dod .= $id ;
 

tylko ze wypisuje mi po 3 razy np 123123123 zamiast 123. jakis pomysł jak to zmodyfikować?
erafaelmi
Przygotowałem przykład z zaznaczenia checkboxów w js. Może się przyda, chociaż jak to bywa nie musi smile.gif
Wyświetla jakie ID zostały zaznaczone, tylko nie wstawiłem zapisu do bazy, gdyż zawieruszyłem plik z przekazywaniem zmiennych przez JavaScript sad.gif


Screen Przykładu
Screen

Trochę kodu wyszło ale zamieściłem w całości przykład

Należy stworzyć bazę danych o nazwie mojabaza przez phpAdmina (ustawić hasło, prawa) i następnie wczytać tabelę

kod SQL, export phpAdmin

  1. -- phpMyAdmin SQL Dump
  2. -- version 2.8.2.4
  3. -- Baza danych: `mojabaza`
  4. -- --------------------------------------------------------
  5. -- Struktura tabeli dla `posty`
  6. --
  7.  
  8. CREATE TABLE `posty` (
  9. `id_posta` tinyint(100) NOT NULL AUTO_INCREMENT,
  10. `post_nazwapl` varchar(255) collate utf8_polish_ci DEFAULT NULL,
  11. `post_nazwaen` varchar(255) collate utf8_polish_ci DEFAULT NULL,
  12. `post_datadod` datetime DEFAULT NULL,
  13. `post_datamod` datetime DEFAULT NULL,
  14. `post_tagi` varchar(255) collate utf8_polish_ci DEFAULT NULL,
  15. `post_kategoria` varchar(255) collate utf8_polish_ci DEFAULT NULL,
  16. `post_zrodlo` varchar(255) collate utf8_polish_ci DEFAULT NULL,
  17. `post_autorex` varchar(255) collate utf8_polish_ci DEFAULT NULL,
  18. `post_pub` varchar(255) collate utf8_polish_ci DEFAULT NULL,
  19. `post_opis` longtext collate utf8_polish_ci,
  20. `post_katalog` varchar(255) collate utf8_polish_ci DEFAULT NULL,
  21. `post_plik` varchar(255) collate utf8_polish_ci DEFAULT NULL,
  22. PRIMARY KEY (`id_posta`)
  23. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=3 ;
  24.  
  25. --
  26. -- Zrzut danych tabeli `posty`
  27. --
  28.  
  29. INSERT INTO `posty` (`id_posta`, `post_nazwapl`, `post_nazwaen`, `post_datadod`, `post_datamod`, `post_tagi`, `post_kategoria`, `post_zrodlo`, `post_autorex`, `post_pub`, `post_opis`, `post_katalog`, `post_plik`) VALUES (1, 'pierwszy post', 'nazwa pierwszego', '2008-12-01 17:18:18', '2008-12-01 17:18:21', 'ajax php', 'ajaxownis', 'zrodlo pierwszego', 'autor 1', 'TAK', 'hgjhgfjghjhjh', 'katalog', 'plik'),
  30. (2, 'drugi post', 'nazwa drugiego', '2008-12-01 17:23:31', '2008-12-01 17:23:49', 'ajax clon', 'AJAX', 'zrodlo 2', 'autor 2', 'Tak', 'opisisk', 'drugi post', 'plik2');



Kod strony, należy zmienić hasło do bazy, ewentualnie inne parametry połączeniowe

  1. <?php
  2. // polaczenie z baza danych o nazwie mojabaza
  3. $hostname_mojaBaza = "localhost";
  4. $database_mojaBaza = "mojabaza";
  5. $username_mojaBaza = "root";
  6. $password_mojaBaza = "haslo_do_mojabaza";
  7. $mojaBaza = mysql_pconnect($hostname_mojaBaza, $username_mojaBaza, $password_mojaBaza) or trigger_error(mysql_error(),E_USER_ERROR);
  8. ?>
  9.  
  10. <?php
  11. mysql_select_db($database_mojaBaza, $mojaBaza);
  12. $query_rekord = "SELECT * FROM posty ORDER BY post_datadod DESC";
  13. $rekord = mysql_query($query_rekord, $mojaBaza) or die(mysql_error());
  14. $row_rekord = mysql_fetch_assoc($rekord);
  15. $totalRows_rekord = mysql_num_rows($rekord);
  16. ?>
  17.  
  18. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  19. <html xmlns="http://www.w3.org/1999/xhtml">
  20. <head>
  21. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  22. <title></title>
  23.  
  24. <script type="text/javascript" language="javascript">
  25.  
  26. var row_on_color = '#FBEBAC';
  27. var row_off_color = '#F4F1F0';
  28.  
  29. function rowlite(oCheckbox) {
  30. var parent = oCheckbox.parentNode;
  31. while (parent.nodeName.toUpperCase() != 'TR')
  32. parent = parent.parentNode;
  33. parent.style.background = (oCheckbox.checked) ? row_on_color : row_off_color;
  34. return true;
  35.  
  36. }
  37.  
  38. <!--===============================-->
  39.  
  40.  
  41. function createOrder()
  42. {
  43. coffee=document.forms[0].coffee;
  44. txt="";
  45. for (i=0;i<coffee.length;++ i)
  46.  {
  47.  if (coffee[i].checked)
  48.    {
  49.    txt=txt + coffee[i].value + " ";
  50.    }
  51.  }
  52. /*document.getElementById("order").value = "Zaznaczyłeś: " + txt;*/
  53. document.getElementById('orderD').innerHTML = "Zaznaczyłeś ID: " + txt;
  54. }
  55.  
  56.  
  57. <!--===============================-->
  58.  
  59.  
  60. var odzWsz = "Odznaczono wszystko";
  61. var zazWsz = "Zaznaczono wszystko";
  62. var zWsz = "Wszystko";
  63. var zOdz = "Odznacz";
  64.  
  65. function zaznacz(a) {
  66.  
  67.    var theForm = document.myForm;
  68.    for (i=0; i<theForm.elements.length; i++) {
  69.        if (theForm.elements[i].name=='coffee')
  70.        {
  71.            theForm.elements[i].checked = a;
  72.            }
  73.    }
  74.    document.getElementById('chu').checked = a;
  75.    document.getElementById('orderDd').innerHTML = i;
  76.    
  77.    if (document.getElementById('chu').checked == true) {    
  78.    document.getElementById('sinfo').innerHTML = zazWsz;
  79.    } else {
  80.    document.getElementById('sinfo').innerHTML = odzWsz;
  81.    }
  82.    
  83. }
  84.  
  85.  
  86. function zaod() {
  87.            var theForm = document.myForm;
  88.            
  89.            for (i=0; i<theForm.elements.length; i++) {
  90.                        if (theForm.elements[i].name=='coffee')
  91.                        {
  92.                            theForm.elements[i].checked = document.getElementById('chu').checked;
  93.                        }
  94.                }
  95.            
  96.                if (document.getElementById('chu').checked == true) {    
  97.    document.getElementById('sinfo').innerHTML = zazWsz;
  98.    document.getElementById('wszOdzAll').value = zOdz;
  99.    } else {
  100.    document.getElementById('sinfo').innerHTML = odzWsz;
  101.    document.getElementById('wszOdzAll').value = zWsz;
  102.    }    
  103.  
  104. }
  105.  
  106. </script>
  107.  
  108.  
  109. <style type="text/css">
  110. <!--
  111. .infoTx {
  112.    font-weight: bold;
  113. }
  114. #navGG {
  115. -moz-border-radius:10px;
  116.    background-color: #CEC6BD;
  117.    padding: 7px;
  118. }
  119.  
  120. /*inbox*/
  121. #inboxTBody {
  122.    -moz-border-radius: 10px;
  123.    background-color: #BFD0D5;
  124.    border: 5px solid #89A3AB;
  125. }
  126. .inboxTnag {
  127.    padding-right: 10px;
  128.    padding-left: 10px;
  129. }
  130.  
  131. #inboxT {
  132.    border-collapse: collapse;
  133.    width:100%;
  134. }
  135.  
  136.  
  137. #inboxT th, #inboxT thead, #inboxT tfoot, .inboxTnag, .inboxTsto {
  138.    background-color: #BFD0D5;
  139. }
  140. #inboxTW {
  141.    background-color: #FCF2E9;
  142. }
  143.  
  144. #inboxTW td {
  145.    border-bottom-width: 1px;
  146.    border-bottom-style: solid;
  147.    border-bottom-color: #CCCCCC;
  148.    padding-top: 2px;
  149.    padding-right: 5px;
  150.    padding-bottom: 2px;
  151.    padding-left: 4px;
  152. }
  153.  
  154. #inboxTW td.cb {
  155. width: 40px;
  156. border: 2px solid #E98F3F;
  157. }
  158. .inboxTTDstars {
  159. }
  160. .inboxTstars {
  161.    background-repeat: no-repeat;
  162.    height: 13px;
  163.    width: 14px;
  164.    border-top-width: 0px;
  165.    border-right-width: 0px;
  166.    border-bottom-width: 0px;
  167.    border-left-width: 0px;
  168.    border-top-style: none;
  169.    border-right-style: none;
  170.    border-bottom-style: none;
  171.    border-left-style: none;
  172. }
  173. -->
  174. </style>
  175. </head>
  176. <body>
  177.  
  178.                    <div id="navGG">
  179.                     <div id="navGG_we">
  180. Inbox
  181.                    </div></div>
  182.                    
  183. <p> </p>
  184.  <div id="inboxTBody">
  185. <form name="myForm">
  186. <p><div id="orderD" align="center"> </div></p>
  187.  <table width="100%" border="0" cellpadding="0" cellspacing="0" id="inboxT">
  188.  <thead>    
  189.      <th height="35" align="left" class="inboxTnag">    
  190.        <input type="button" onclick="zaznacz(1)" value="Wszystko">
  191.      <input type="button" onclick="zaznacz(0)" value="Odznacz">
  192.      <input type="button" onclick="createOrder()" value="Kosz" title="Show msg Smoke">
  193.        </th>
  194.    </tr>
  195.    </thead>
  196.    <tbody>
  197.    <tr>
  198. <td>
  199.  
  200. <?php
  201.            
  202.        $i=0;
  203.        $wieszW[0] = "FCF2E9";
  204.        $wieszW[1] = "EBF0F1";
  205.             ?>  
  206.  
  207. <table border="0" cellpadding="0" cellspacing="0" width="100%" id="inboxTW">
  208.  <?php do {
  209.  $i++;
  210.  ?>
  211.        <tr style="background:#<?php echo $wieszW[$i%2]; ?>">
  212.        <td style=" font-size:11px; color:#666666" width="20px"><?php echo $i; ?></td>        
  213.        <td style=" font-size:11px; color:#666666" width="35px">Id: <?php echo $row_rekord['id_posta']; ?></td>    
  214.      <td width="30" align="center"><input type="checkbox" name="coffee" value="<?php echo $row_rekord['id_posta']; ?>" onclick="return rowlite(this)"></td>
  215.      <td width="20" align="center" class="inboxTTDstars"><div class="inboxTstars"></div></td>
  216.      <td width="300px"><?php echo $row_rekord['post_nazwapl']; ?></td>
  217.      <td align="right" style=" font-size:11px; color:#666666" width="150px"><?php echo date( 'j/m/Y H:i', strtotime( $row_rekord['post_datadod'] )  ); ?></td>
  218.    </tr>
  219.    <?php } while ($row_rekord = mysql_fetch_assoc($rekord)); ?>
  220. </table>
  221.  
  222. </td>
  223.  
  224.    </tr>
  225.    </tbody>
  226.    <tfoot>
  227.    <tr>
  228.      <td height="30" class="inboxTsto"><span id="sinfo"></span></td>
  229.    </tr>
  230.    </tfoot>
  231.  </table>
  232.  
  233. </form><br />
  234. </div>
  235. <br />
  236.  
  237. </body>
  238.  
  239. </html>
  240. <?php
  241. ?>
kangur91
Wielkie dzięki. Przydał  mi się ten kod choć go trochę zmodyfikowałem:D 
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.