Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Liczba z input = inna liczba.
Forum PHP.pl > Forum > PHP
evilpr0
Witam! Mam pewien problem. Mianowicie mam input, w inpucie podaje się liczbę, następnie ta liczba powinna być zmieniona na inną, podaną inaczej, a następnie wysłana do bazy. Dla przykładu:

  1. <?
  2.  
  3. $link = mysql_connect('*****, '*****', '*****');
  4. if (!$link) {
  5. die('Could not connect: ' . mysql_error());
  6. }
  7.  
  8. mysql_select_db("*****");
  9.  
  10. echo '
  11. <form method="POST">
  12. <input type="text" name="cos" />
  13. <input type="submit" name="submit" />
  14. </form>
  15. ';
  16.  
  17. if($_POST['submit'] == 'submit') {
  18. $liczbazinputu = $_POST['cos'];
  19.  
  20. if($liczbazinputu = 1) {
  21. $wysylanaliczba = 67;
  22. }
  23. mysql_query("INSERT INTO tablica VALUES '".$wysylanaliczba."'");
  24. }


Chciałbym mniej więcej coś takiego, z tym że mam dużo liczb do przypisania i jest to po prostu męczarnia wypisywać wszystkie tak po kolei. Więc moje pytanie to, czy można to zapisać jakoś w tablicy? Drugie pytanie. Mam w bazie MySQL tablicę z tymi właśnie numerami, są one zapisane tak:

ID: 1 | (numer) | meszczyzna
ID: 2 | (numer) | meszczyzna
ID: 3 | (numer) | kobieta

Da radę jakoś pobierać te numery bezpośrednio z bazy i porównania robić tak, aby $liczbainputu to było ID, a $wysylanaliczba to (numer)? Z góry dzięki za odpowiedź. ; )
d3ut3r
Ad 1.

  1. <?php
  2. $link = mysql_connect('*****', '*****', '*****');
  3. if (!$link) {
  4. die('Could not connect: ' . mysql_error());
  5. }
  6. mysql_select_db("*****");
  7. ?>
  8.  
  9. <form method="post" action="plik.php">
  10. <input type="text" name="cos" />
  11. <input type="submit" name="submit" value="Wyślij" />
  12. </form>
  13.  
  14. <?php
  15. if($_POST['submit'] == 'submit') {
  16.  
  17. $mapa=array(1=>67,2=>32,33=>45,12=>125);
  18. $liczbazinputu = (int)$_POST['cos'];
  19. $wysylanaliczba=(int)$mapa[$liczbazinputu];
  20. mysql_query("INSERT INTO tablica VALUES '".$wysylanaliczba."'");
  21.  
  22. }


jest późno i nie testowałem więc nie dam głowy, że działa smile.gif. Generalnie zasada jest taka, że tworzysz tablicę gdzie indeksem jest $liczbazinputu a wartością jest $wysylanaliczba.


Ad2.

z tego co zrozumiałem chcesz pobrać z bazy wiersz który ma ID=$liczbazinputu i NUMER=$wysylanaliczba tak ?

  1. SELECT * FROM tabela WHERE ID=$liczbazinputu AND NUMER=$wysylanaliczba


evilpr0
Cytat(d3ut3r @ 12.03.2011, 03:49:58 ) *
Ad2.

z tego co zrozumiałem chcesz pobrać z bazy wiersz który ma ID=$liczbazinputu i NUMER=$wysylanaliczba tak ?

  1. SELECT * FROM tabela WHERE ID=$liczbazinputu AND NUMER=$wysylanaliczba


Hm. Chodzi mi mniej wiecej o pobieranie rekordu z bazy danych i porownywanie go do inputu, a pozniej wysylanie inputu jako jeden z rekordow podpisanych do pobieranego rekordu z inputu. biggrin.gif Wiem, ze skomplikowane, chodzi mi mniej wiecej o taki kod:

  1.  
  2. <?php
  3. $link = mysql_connect('*****', '*****', '*****');
  4. if (!$link) {
  5. die('Could not connect: ' . mysql_error());
  6. }
  7. mysql_select_db("*****");
  8.  
  9. <form method="POST">
  10. <input type="text" name="cos" />
  11. <input type="submit" name="submit" value="Wyslij" />
  12. </form>
  13. ';
  14.  
  15. $pytanie = mysql_query("SELECT * FROM tabela");
  16.  
  17. while($o= mysql_fetch_assoc($pytanie)) {
  18.  
  19. if($_POST['submit'] == 'Wyslij') {
  20.  
  21. $liczba = $_POST['cos'];
  22.  
  23. if($cos = $o['id']) {
  24. $wysylana = ($o['liczba']); /* liczba to liczba podpisana pod id. */
  25. }
  26. }
  27.  
  28.  
  29. ?>


Rozumiecie o co chodzi? smile.gif Chce, aby pobieralo liczby z bazy, a jesli liczba to liczba z id, wysylana liczba to liczba podpisana pod to id.
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.