Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Wstawianie Wielu Losowo Generowanych Rekordów[MySQL] - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Wstawianie Wielu Losowo Generowanych Rekordów[MySQL] (/thread-wstawianie-wielu-losowo-generowanych-rekordow-mysql)

Strony: 1 2


Wstawianie Wielu Losowo Generowanych Rekordów[MySQL] - smiglo85 - 30-03-2011

Witam mam taki mały problem. Mianowicie nie jestem orłem z programowania ale podstawowego inserta znam. Chciałbym się dowiedzieć czy istnieje możliwość wstawienia np. 100 rekordów gdzie wartość każdego pola będzie inna. np. mamy tabele uzytkownicy w niej trzy kolumny(id, login i haslo). Oczywiście kolumna id z automatycznym przyrostem o jeden(autoinkrement)czyli w insercie nie trzeba go wprowadzać. Jak automatycznie wygenerować 100 loginów i haseł w taki sposób, żeby się nie powtarzały oraz aby nie trzeba wstawiać stosując 100 insertów w których sam musisz to wymyślać.


RE: Wstawianie Wielu Losowo Generowanych Rekordów[MySQL] - Pedro84 - 30-03-2011

Pętla for + generowanie losowych ciągów.


RE: Wstawianie Wielu Losowo Generowanych Rekordów[MySQL] - Marys - 30-03-2011

Dokładnie tak jak napisał Pedro84. Piszesz pętle for w niej ustawiasz np. powiększanie liczby dla haslo001 user001 lub (nie wiem czy tak w php można), że rzutujesz liczbę na znak (char), ewentualnie możesz jeszcze zrobić losowanie (random, w php chyba rand()Wink i sprawdzać czy coś się nie powtarza. Jak będziesz miał problem to pisz tutaj lub na priv.


RE: Wstawianie Wielu Losowo Generowanych Rekordów[MySQL] - smiglo85 - 31-03-2011

Właściwie to nie mam pojęcia jak zmajstrować tę pętlę. Pozatym mi chodzi o to aby użyć polecenia najlepiej z poziomu phpmyadmin bezpośrednio na tabeli w bazie danych


RE: Wstawianie Wielu Losowo Generowanych Rekordów[MySQL] - R_Rafalsky - 31-03-2011

Jak nie wiesz jak zrobić pętlę to nawet kurczakiem z programowania nie jesteś Smile
PHPMyAdmin nie posiada żadnych automatów. Jak chcesz to zrobić z jego poziomu to tylko "trzeba wstawiać stosując 100 insertów w których sam musisz to wymyślać"


Pseudokod:
1. Połącz się z bazą danych
2. Od jednego do 100 rób
{
$login=wylosuj();
$haslo=wylosuj();
mysql_query ("INSERT INTO Uzytkownicy VALUES... - insert znasz więc dasz se radę
}

Po szczegóły odsyłam do podstaw PHP


RE: Wstawianie Wielu Losowo Generowanych Rekordów[MySQL] - smiglo85 - 02-04-2011

Niestety Ale Nic Mi Nie Wychodzi. Wiem, że w instrukcji inserta po values muszą byc zmienne w które będą zawierać wartości wygenerowanych kodów dostępu.
Tyle co udało mi się wymyślić samemu:
<?php
mysql_connect("localhost","user","pass");
mysql_select_db("baza");
for($i=2; $i<=100; $i++)
{
$dl = 20;
$uzytkownik=md5(sha1(md5(microtime())));
$haslo=sha1(md5(md5(sha1(microtime()))))
mysql_query("insert into users (login, haslo) values ('".$uzytkownik."','".$haslo."')");
}
?>
i zastanawiam sie jak z tego wyciągnąć np 10 czy 20 znaków na hasło.
ale dopiero się tego wszystkiego ucze wiec może ktoś podrzuci mi jakis pomysł.


RE: Wstawianie Wielu Losowo Generowanych Rekordów[MySQL] - Pedro84 - 02-04-2011

1. md5(sha1(md5(microtime()))); - Co to ma być?
2. Google.pl => php cut string


RE: Wstawianie Wielu Losowo Generowanych Rekordów[MySQL] - Marys - 02-04-2011

Możesz np. zrobić tak:
Kod PHP:
...
$user_lp 001;
$user 'user'.$user_lp;
$passowrd_lp 001;
$password 'password'.$passowrd_lp
for ($i=0$i<100; $++)
{
  
$user_lp++;
  
$password_lp++;
  
$uzytkownik 'user'.$user_lp;
  
$haslo 'haslo'.$password_lp;
...
}
... 



RE: Wstawianie Wielu Losowo Generowanych Rekordów[MySQL] - smiglo85 - 02-04-2011

(02-04-2011, 06:45)Pedro84 napisał(a): 1. md5(sha1(md5(microtime()))); - Co to ma być?
2. Google.pl => php cut string

Znalazlem na google ze w taki sposob mozna tez generować losowo ciagi znakow ale nie mam pojęcia czy to dobrze zrobiłem. ale na to wygląda że nieSad


RE: Wstawianie Wielu Losowo Generowanych Rekordów[MySQL] - Pedro84 - 02-04-2011

(02-04-2011, 15:51)smiglo85 napisał(a):
(02-04-2011, 06:45)Pedro84 napisał(a): 1. md5(sha1(md5(microtime()))); - Co to ma być?
2. Google.pl => php cut string

Znalazlem na google ze w taki sposob mozna tez generować losowo ciagi znakow ale nie mam pojęcia czy to dobrze zrobiłem. ale na to wygląda że nieSad
Można, w teorii. Ale w teorii można również kopać basen szpadlem. Można? Można Wink

Jeśli Ci nie zależy na unikalności, możesz zrobić tak:
Kod:
sha1(microtime().time());
Weź pod uwagę, że do kolizji może dojść zawsze (choć w tak małym zakresie wydaje się to naprawdę bardzo mało prawdopodobne).

Zastanawiam się tylko, po co Ci te dane?