Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/sql] generowanie kodu
Forum PHP.pl > Forum > Przedszkole
cioop
Witam,
mam problem z generowaniem unikalnego kodu: XXYY.autoincrement.date("y");
Mam formularz html, z ktorego user ma wybierac z menu wydzial i kierunek studiow. Dla kazdego z nich sa przypisane litery. Po literach chcialbym wstawic id autoincrement, a na koniec dokleic do tego jeszcze dwie ostatnie cyfry roku. Umiem kazde z nich zapisac do bazy sql, ale nie wiem jak to razem skleic i zapisac w jeszcze jednym polu tabeli varchar, jako całość, która pozniej będzie można wyszukiwać. A moze, zle to wymyslilem i nie trzeba niczego sklejac, tylko wymyslic inny mechanizm wyszukiwania rekordow po kodzie rozbitym na kawalki?
KCG
To chyba musiał byś pobierać ostatni rekord z tabeli, inkrementować ($x++) go i zapisywać do bazy.
Ale nie bardzo rozumiem, jak to później będziesz wyszukiwał blink.gif
cioop
bede to szukal zapytaniem sql
  1. <?php
  2. if(empty($_POST['szukaj']))
  3. {
  4. setcookie("where",'', time()+10); 
  5. }
  6.  
  7. else{
  8. $where='';
  9.  
  10. if(!empty($_POST['kod']))$where.=" AND (kod LIKE('%".$_POST['kod']."%'))";
  11. if(!empty($where))
  12. {
  13. $where=substr($where,4); #od poczatku
  14. setcookie('where,urlencode($where),time()+10);
  15. }
  16. ?>


w zasadzie ciag cyfr nie musi byc uporzadkowany, moze byc losowy i chyba zadowole sie (rand(0,9).rand(0,9).rand(0,9).rand(0,9)
Daimos
hehe a czego nie
  1. <?php
  2. rand(1000, 9999);
  3. ?>

?smile.gif
cioop
w sumie fakt ;-)

teraz pytanie z innej beczki: czemu wyswietla mi sie kod php zagniezdzony w htmlu, zamiast jego wartosci?
  1. <input type="text" name="symbol" id="symbol" value="<?php echo(rand(1000,9999)); ?>" />

przkopiowalem te linie z innego pliku na tym samym serwerze, teraz zamiast wywolanego ciagu czterech cyfr wyswietla mi sie w polu formularza kod <?php echo... etc?! dzieje sie tak, kiedy wywoluje ten plik getem index.php?dodaj=1, kiedy otwieram ten plik bezposrednio w oknie przegladarki to wszystko dziala (i jestem pewien, ze get wywoluje ten plik, co trzeba). Probowalem to zagniezdzic tez <script language="php"> echo(rand(1000,9999)); </script> i to samo!? Czy to znaczy, ze administrator serwera cos mi zmienil w php.ini?
Kicok
Includujesz ten plik, czy wysyłasz do przeglądarki przez:
  1. <?php
  2. echo(file_get_contents($nazwa_pliku));
  3. // lub
  4. readfile($nazwa_pliku);
  5. ?>
cioop
mam to tak
w index.php
  1. <?php
  2. include (funkcje.php);
  3. if( !empty($_GET['dodaj']) include('dodaj.php');
  4. ?>

formularz html ma input hidden dodaj=1
w dodaj.php
  1. <?php
  2. $TRESC=Zamien('dodaj.html');
  3. ?>


i funkcje
  1. <?php
  2. function Otworz ($sciezka, $tryb='r')
  3. {
  4.  
  5. if(!$plik=fopen($sciezka,$tryb))
  6. exit ('blad dostepu do pliku');
  7. return $plik;
  8. }
  9.  
  10. function Zamien($plikformularza)
  11. {
  12. $plik=Otworz ($plikformularza);
  13. $trescpliku=fread($plik, filesize($plikformularza));
  14. return $trescpliku;
  15. }
  16. ?>
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.