Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [php][mysql] auto_incremet tekstowy
icetab
post
Post #1





Grupa: Zarejestrowani
Postów: 226
Pomógł: 3
Dołączył: 3.04.2007

Ostrzeżenie: (50%)
XXX--


Witam.

Mam do was pytanie chce zrobic skrypt zgloszen winksmiley.jpg i mam problem bo nie wiem jak zrobic tekstowo-cyfrowo auto_increment ze jak ma strone
ktos wypelnia formularz i dostaje linka takiego http://local.pl/index.php?id=oz82y umiem zrobic ze id ma takie cos index.php?id=12 ale nie umiem z literami i cyframi prosil bym o pomoc jak sie kierowac winksmiley.jpg

Ten post edytował icetab 31.03.2008, 12:59:53
Go to the top of the page
+Quote Post
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Zastosowanie kluczy tekstowych to delikatnie mówiąc kiepski pomysł.
Zamiast brnąć w to głębiej zamień klucze na liczbowe.
Go to the top of the page
+Quote Post
icetab
post
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 3
Dołączył: 3.04.2007

Ostrzeżenie: (50%)
XXX--


aha rozumiem ale jesli zrobie liczbowe to ktos wpisze 123 to zobaczy dane zgłoszeniowe wolal bym jakis trudniejszy id z literkami wtedy trudno zobazcyc
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Ale co jest złego w zapisie: 123 - 124 - 125 - 126...?

Jeżeli nie chcesz, aby pewne ogłoszenie były widzne dla danego użytkownika zablokuj mu dostęp do niego.
Go to the top of the page
+Quote Post
icetab
post
Post #5





Grupa: Zarejestrowani
Postów: 226
Pomógł: 3
Dołączył: 3.04.2007

Ostrzeżenie: (50%)
XXX--


ale u mnie w skrypcie nie ma rejestracji i dla danego uzytkownika ten formularz nie bedzie przypisywany winksmiley.jpg a z zablokowaniem to zla podpowiedz bo jak bedzie kilkaset zgloszen to ja dziekuje wiec dla tego wole literowo-cyfrowe
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


W takim razie na pole ID zamiast PrimaryKey daj klucz UniqueKey a dodawanie nowego zrób tak:
  1. <?
  2.  
  3. $id = substr(md5(uniqueid(rand(), true)), 0, 8); //ciąg 8 losowych znaków 0-9a-z
  4.  
  5. $db->insert('INSERT INTO tabela VALUES ('' . $id . '', ......);');
  6.  
  7. ?>
Go to the top of the page
+Quote Post
icetab
post
Post #7





Grupa: Zarejestrowani
Postów: 226
Pomógł: 3
Dołączył: 3.04.2007

Ostrzeżenie: (50%)
XXX--


pytanie czy te kropki musza tak byc ? winksmiley.jpg

  1. (\'' . $id . '', ......);');


Ten post edytował icetab 31.03.2008, 14:54:33
Go to the top of the page
+Quote Post
Crozin
post
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
pytanie czy te kropki musza tak byc ?
To zapytanie jest tylko fragmentem całego... nie wiem co chcesz wrzucać jeszcze do bazy, ale napewno coś więcej niż samo ID winksmiley.jpg
Go to the top of the page
+Quote Post
mike
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(icetab @ 31.03.2008, 15:53:17 ) *
pytanie czy te kropki musza tak byc ? winksmiley.jpg
Mnie w szkole kiedyś uczyli, że jak nawet przepisujesz z tablicy to rób to ze zrozumieniem.
Dostałeś przykład. Dostosuj go do swoich potrzeb.

Uproszczę Ci:
  1. <?php
  2. $db->insert("INSERT INTO tabela VALUES ('" . $id . "', ......);");
  3. ?>
Go to the top of the page
+Quote Post
icetab
post
Post #10





Grupa: Zarejestrowani
Postów: 226
Pomógł: 3
Dołączył: 3.04.2007

Ostrzeżenie: (50%)
XXX--


bede cwiczyc haha.gif

a pytanie jak zrobic skrypt ze mam naprzyklad tabele

towary

i w niej mam pola id nazwa teskt zatwierdzono

i gdy w bazie pole zatwierdzono ma stala czyli "0" to gdy dam 1 to na stronie wyświetli sie u uzytkownika towar dodany a gdy dam 0 to bedzie pisac nie dodano
Go to the top of the page
+Quote Post
Crozin
post
Post #11





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


  1. SELECT ... FROM ... WHERE zatwierdzono = 1 AND id_uzytkownika = XXX;
podstawy...
Go to the top of the page
+Quote Post
icetab
post
Post #12





Grupa: Zarejestrowani
Postów: 226
Pomógł: 3
Dołączył: 3.04.2007

Ostrzeżenie: (50%)
XXX--


tak wiem ale mi chodzi ze gdy w bazie jest ustawione 1 to na stronie abc.php?id=12 pokazuje zatwierdzono a gdy jest na 0 to na abc.php?id=12 pokazuje nie zatwierdzono winksmiley.jpg
Go to the top of the page
+Quote Post
Crozin
post
Post #13





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Tak więc pobierz poprostu wartość tego pola i gdy jest ona równa 1 wyświetl 'Zatwierdzono' a w innym wypadku 'Nie zatwierdzono'
Go to the top of the page
+Quote Post
icetab
post
Post #14





Grupa: Zarejestrowani
Postów: 226
Pomógł: 3
Dołączył: 3.04.2007

Ostrzeżenie: (50%)
XXX--


no i wlasnie nie umiem tego zrobi napewno zapytanie bedzie

  1. SELECT * FROM produkty WHERE id_activ=1


ale jak zrobic ze odczyta jeden to pokaze zatwierdzono
Go to the top of the page
+Quote Post
Crozin
post
Post #15





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $id = (int) $_GET['id']; //id rekordu
  3.  
  4. $query = 'SELECT zatwierdzono FROM nazwaTabeli WHERE poleZID = ' . $id;
  5. $result = mysql_query($query) or die(mysql_error());
  6. $row = mysql_fetch_row($result, MYSQL_ASSOC);
  7.  
  8. echo $row['zatwierdzono'] ? 'Zatwierdzono' : 'NIE....';
  9. ?>


Ten post edytował Crozin 31.03.2008, 19:43:39
Go to the top of the page
+Quote Post
icetab
post
Post #16





Grupa: Zarejestrowani
Postów: 226
Pomógł: 3
Dołączył: 3.04.2007

Ostrzeżenie: (50%)
XXX--


hmm cos nie dziala tabela tak wyglada

  1. CREATE TABLE `status` (
  2. `id` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `tekst` text collate utf8_unicode_ci NOT NULL,
  4. `id_activ` varchar(1) collate utf8_unicode_ci NOT NULL DEFAULT '0',
  5. PRIMARY KEY (`id`)
  6. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
  7.  
  8. --
  9. -- Zrzut danych tabeli `status`
  10. --
  11.  
  12. INSERT INTO `status` VALUES(1, 'proba', '0');
  13. INSERT INTO `status` VALUES(2, 'proba2', '1');


a skrypt php tak

  1. <?php
  2.  
  3. include 'connect.php';
  4.  
  5. $id = (int) $_GET['id']; //id rekordu
  6. $query = "SELECT * FROM `status` WHERE id=".$id." ";
  7. $result = mysql_query($query) OR die('blad w skrypcie.');
  8. $row = mysql_fetch_row($result);
  9.  
  10. echo $row['id_activ'] ? 'Zatwierdzono' : 'NIE....';
  11. ?>


i gdy daje index.php?id=1 to wyswietla nie i tak samo wyswietla z index.php?id=2 a powinno wyswietlac Zatwierdzono a wyswietla Nie..
Go to the top of the page
+Quote Post
mike
post
Post #17





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Poczytaj sobie w jakiej postaci funkcja mysql_fetch_row() zwraca dane.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #18





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


i wlacz: error_reporting( E_ALL )


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
icetab
post
Post #19





Grupa: Zarejestrowani
Postów: 226
Pomógł: 3
Dołączył: 3.04.2007

Ostrzeżenie: (50%)
XXX--


hmm pocztalem

Kod
mysql_fetch_row() pobiera jeden wiersz danych z wyniku skojarzonego z podanym identyfikatorem wyniku. Wiesz zwracany jest jako tablica. Komórki są umieszczone pod oddzielnymi ofsetami, zaczynając od 0.


i tak nic nie zrozumialem winksmiley.jpg
Go to the top of the page
+Quote Post
mike
post
Post #20





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(icetab @ 1.04.2008, 14:04:48 ) *
i tak nic nie zrozumialem winksmiley.jpg
To zniżymy się do poziomu obrazków skoro tekstu nie rozumiesz. Zrób:
  1. <?php
  2.  
  3. var_dump($row);
  4.  
  5. ?>
to zobaczysz czym jest $row.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 09:28