phpmysql random value generator alfa

PHPportalen Forum Index » Tips och Trix
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
Azreal
Administratör



Medlem i: 4428 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#523002
Inlägg Skrivet: 2007-10-07 12:35      Ämne: phpmysql random value generator alfa Citera

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
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
PowaH



Medlem i: 4444 dagar
Från: Uppsala
Status: Offline



#523016
Inlägg Skrivet: 2007-10-07 15:13      Ämne: Citera

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:
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
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4428 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#523018
Inlägg Skrivet: 2007-10-07 15:17      Ämne: Citera

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
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
PowaH



Medlem i: 4444 dagar
Från: Uppsala
Status: Offline



#523022
Inlägg Skrivet: 2007-10-07 15:22      Ämne: Citera

Jag hade inget att göra så jag försökte lite till Razz "Gillar switch Smile"


PHP:
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] <= 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
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4428 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#523024
Inlägg Skrivet: 2007-10-07 15:29      Ämne: Citera

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
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
PowaH



Medlem i: 4444 dagar
Från: Uppsala
Status: Offline



#523028
Inlägg Skrivet: 2007-10-07 16:08      Ämne: Citera

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 Razz
 

_________________
Vad är en funktion utan fel? - Dectgap - Du må alltid vila i frid
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Tips och Trix
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic