Visa föregående ämne :: Visa nästa ämne |
Startad av: |
Meddelande |
Azreal


Medlem i: 5671 dagar Från: Uppsala, bor i Göteborg
Status: Offline
#523002
|
Skrivet: 2007-10-07 12:35
Ämne: phpmysql random value generator alfa
|
|
|
Tips på förbättringar och tillägg är välkommet.
Skrev ett script för att enkelt kunna kasta in en massa
randomdata i en tabell som man valt.
Scriptet analyserar tabellen och dess datatyper returnerar sedan
tillbaka ett slumpat värde för den datatypen.
Scriptet innehåller tre php filer, en css, en readme, och en gpl.
Har endast testat scriptet under min egen miljö(Linux-Ubuntu, php5, mysql 5.1).
För tillfället är stödet för datatyperna;
varchar
tinyint
text
date
smallint
mediumint
int
bigint
float
double
decimal
datetime
timestamp
time
year
char
tinyblob
tinytext
mediumblob
mediumtext
enum
set
longblob
longtext
tinyint
binary
Ver. info
0.01 -> 2007-10-07
Senast ändrad av Azreal den 2007-10-07 15:19, ändrad totalt 1 gång |
|
|
_________________ Konsultation via PM, inte gratis. |
Till toppen på sidan |
|
PowaH

Medlem i: 5687 dagar Från: Uppsala
Status: Offline
#523016
|
Skrivet: 2007-10-07 15:13
Ämne:
|
|
|
Har inte så mkt kunskap om detta men det verkar bra men koden är lite osmart kodat enligt mig...
Exempel:
50-77 borde se ut typ såhär i functions.php:
1: 2: <?php 3: if(isset($type) && in_array($type,$arrDatetypes)) 4: { 5: switch($type) 6: { 7: case 'date': 8: $date = date("Y-m-d"); 9: break; 10: 11: case 'timestamp': 12: case 'datetime': 13: $date = date("Y-m-d H:i:s"); 14: break; 15: 16: case 'time': 17: $date = date("H:i:s"); 18: break; 19: 20: default: 21: $date = NULL; 22: break; 23: } 24: $arrReturned = array("col_name"=>"$field","col_value"=>"$date"); 25: return $arrReturned ; 26: } 27: ?>
|
|
|
|
_________________ Vad är en funktion utan fel? - Dectgap - Du må alltid vila i frid |
Till toppen på sidan |
|
Azreal


Medlem i: 5671 dagar Från: Uppsala, bor i Göteborg
Status: Offline
#523018
|
Skrivet: 2007-10-07 15:17
Ämne:
|
|
|
Absolut, tänkte inte alls på det där när jag gjorde koden.
Men du har rätt, mindre kod blir det, samt snyggare att läsa.
Kommer att ändras.
Tack för synpunkten. |
|
|
_________________ Konsultation via PM, inte gratis. |
Till toppen på sidan |
|
PowaH

Medlem i: 5687 dagar Från: Uppsala
Status: Offline
#523022
|
Skrivet: 2007-10-07 15:22
Ämne:
|
|
|
Jag hade inget att göra så jag försökte lite till "Gillar switch "
1: <?php 2: 3: if(isset($type) && in_array($arrSplit[0],$arrDynTypes)) 4: { 5: switch($arrSplit[0]) 6: { 7: case 'char': 8: case 'varchar': 9: case 'binary': 10: $value = substr($dummy,0,($arrSplit[1]-1)); 11: break; 12: 13: case 'int': 14: case 'tinyint': 15: case 'bigint': 16: case 'mediumint': 17: case 'smallint': 18: $value = $arrSplit[1] <= 1 ? mt_rand(0,9) : mt_rand(10,my_rand_trans($arrSplit[1])); 19: break; 20: 21: case 'decimal': 22: $value = mt_rand(10,my_rand_trans(5)); 23: break; 24: 25: case 'enum': 26: $arrTempo = str_replace("'","",$arrSplit[1]); 27: $arrTempo = explode(",",$arrTempo); 28: $value = $arrTempo[0]; 29: break; 30: 31: case 'set': 32: $arrTempo = str_replace("'","",$arrSplit[1]); 33: $arrTempo = explode(",",$arrTempo); 34: $value = $arrTempo[0]; 35: break; 36: 37: case 'year'; 38: $value = date("Y"); 39: break; 40: 41: case 'float' ; 42: $value = mt_rand(10,my_rand_trans(4)); 43: break; 44: 45: case 'double' ; 46: $value = my_rand_trans(4); 47: break; 48: } 49: $arrReturned = array("col_name"=>"$field","col_value"=>"$value"); 50: return $arrReturned; 51: } 52: ?>
|
|
|
|
_________________ Vad är en funktion utan fel? - Dectgap - Du må alltid vila i frid |
Till toppen på sidan |
|
Azreal


Medlem i: 5671 dagar Från: Uppsala, bor i Göteborg
Status: Offline
#523024
|
Skrivet: 2007-10-07 15:29
Ämne:
|
|
|
Finns säkert en hel del optimering att göra, dock så tänkte jag låta koden vara någorlunda intakt inför framtida implement.
Då man kommer kunna mera specifikt styra olika fält mera inviduellt.
Har sett en hel del problem när jag testade på en annan databas.
Kommer nog en uppdaterad kod snart. |
|
|
_________________ Konsultation via PM, inte gratis. |
Till toppen på sidan |
|
PowaH

Medlem i: 5687 dagar Från: Uppsala
Status: Offline
#523028
|
Skrivet: 2007-10-07 16:08
Ämne:
|
|
|
Azreal skrev: |
Finns säkert en hel del optimering att göra, dock så tänkte jag låta koden vara någorlunda intakt inför framtida implement.
Då man kommer kunna mera specifikt styra olika fält mera inviduellt.
Har sett en hel del problem när jag testade på en annan databas.
Kommer nog en uppdaterad kod snart. |
Jo sant, jag fattar typ inget vad denna kod gör så du borde kanske lägga lite tid på att skriva ner precis vad koden gör, som en liten innehållsförteckning  |
|
|
_________________ Vad är en funktion utan fel? - Dectgap - Du må alltid vila i frid |
Till toppen på sidan |
|
|