abonnement Unibet Coolblue Bitvavo
pi_59985721
Merci voor jullie hulp. Uiteindelijk heb ik het opgelost door ".chr(59)." toe te voegen op de plaatsen waar een puntkomma stond en het werkt...
De wijze houdt zich op de achtergrond, in werkelijkheid staat hij vooraan
  woensdag 9 juli 2008 @ 10:39:22 #53
32768 DionysuZ
Respect my authority!
pi_59990645
quote:
Op dinsdag 8 juli 2008 23:43 schreef tim2308 het volgende:
Merci voor jullie hulp. Uiteindelijk heb ik het opgelost door ".chr(59)." toe te voegen op de plaatsen waar een puntkomma stond en het werkt...
ik denk dat je dan onbewust de echte fout eruit hebt gehaald. Want ik zie niet in hoe een echo van een puntkomma fouten zou moeten opleveren.
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_59991062
Ik dacht dat de puntkomma's in de echo verward werden met de puntkomma's die het einde van de regel aangeven, zodat alles na de eerste puntkomma niet meer wordt geinterpreteerd.
De wijze houdt zich op de achtergrond, in werkelijkheid staat hij vooraan
  woensdag 9 juli 2008 @ 11:40:02 #55
32768 DionysuZ
Respect my authority!
pi_59991722
quote:
Op woensdag 9 juli 2008 11:04 schreef tim2308 het volgende:
Ik dacht dat de puntkomma's in de echo verward werden met de puntkomma's die het einde van de regel aangeven, zodat alles na de eerste puntkomma niet meer wordt geinterpreteerd.
Onjuist, de puntkomma's die het einde van de regel aangeven staan buiten de quotes/dubbele quotes:

echo "bla; bla";
of
echo 'bla; bla';

levert gewoon:
bla; bla
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
  woensdag 9 juli 2008 @ 11:41:24 #56
32768 DionysuZ
Respect my authority!
pi_59991751
als je kijkt naar het einde van de code die je hebt gepaste in deze topic:

1src=\"$file\"></a>n\";


Dan zie je dat de " aan het einde escaped wordt, zodat de regel nog niet ten einde is.
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_59993050
Mmm... er zaten inderdaad wat zoek-en vervang foutjes in de code maar uiteindelijk werkt het in ieder geval allemaal. Ik gooi een bulk fotos in een directory, gooi er een index.php bij en er komt iets moois uit! (althans mooi genoeg voor mijn toepassing)

Het is wel wennen hoor, al twintig jaar in basic en zijn varianten gescrhreven en nu PHP. Een stuk minder intuitiever maar het zal vast wennen.
De wijze houdt zich op de achtergrond, in werkelijkheid staat hij vooraan
pi_59995890
Ik zit met het volgende, iets waar ik zelf niet uitkom.

Ik heb een tabel met ip adressen en hostnames en wil pas een item toevoegen als deze niet bestaat

Eerst lees ik deze uit.
SELECT id FROM stats_ip WHERE ip = '83.161.xxx.xxx'

Bij 0 resultaten doe ik het volgende

INSERT INTO `stats_ip` (`ip`, `hostname`) VALUES ('83.161.xxx.xxx','xxxxx.domein.nl');

Echter krijg ik soms een melding:
String: Duplicate entry '83.161.xxx.xxx' for key 2

Maar ik wil geen dubbele items in mijn database, daarom heb ik op het veld IP een unieke gezet...

Wat doe ik fout of kan het zijn dat het script 2x op dezelfde tijd aangeroepen wordt??
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 9 juli 2008 @ 14:34:15 #59
63192 ursel
"Het Is Hier Fantastisch!
pi_59995998
Key 2, is dat niet dat er op hostname ook een unieke is gezet?
pi_59996486
kan je niet beter REPLACE INTO / ON DUPLICATE KEY gebruiken?
Dan kan je dit soort problemen in ieder geval voorkomen
pi_60022378
Idd

Ik zal eens kijken wat ik hier mee kan.

Een andere vraag; is het mogelijk om middels php een afbeelding te converteren van GIF/JPG te converteren zonder dat het bestand x10 groter wordt. zoals nu het geval is.

bv $im = loadGIF("plaatje.gif"); imagePNG($im, "plaatje,gif", 9, FILTERS_ALL);

anyone?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_60024881
quote:
Op donderdag 10 juli 2008 16:19 schreef Chandler het volgende:
Idd

Ik zal eens kijken wat ik hier mee kan.

Een andere vraag; is het mogelijk om middels php een afbeelding te converteren van GIF/JPG te converteren zonder dat het bestand x10 groter wordt. zoals nu het geval is.

bv $im = loadGIF("plaatje.gif"); imagePNG($im, "plaatje,gif", 9, FILTERS_ALL);

anyone?
Van GIF/JPG naar PNG bedoel je? Dan moet je er wel rekening mee houden dat PNG altijd groter is dan GIF.
pi_60026585
quote:
Op donderdag 10 juli 2008 18:25 schreef Light het volgende:
Dan moet je er wel rekening mee houden dat PNG altijd groter is dan GIF.
Hoe kom je daar bij
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_60027956
quote:
Op donderdag 10 juli 2008 19:56 schreef SuperRembo het volgende:

[..]

Hoe kom je daar bij
Nou ok, da's mijn ervaring.
pi_60028077
quote:
Op donderdag 10 juli 2008 20:58 schreef Light het volgende:

[..]

Nou ok, da's mijn ervaring.
Dat ligt er natuurlijk maar helemaal aan wat voor soort plaatje het is. Een simpel gifje met veel egale vlakken zal waarschijnljik groter zijn als png bestand, maar een gedetailleerde foto in gif formaat zal meestal groter zijn dan dezelfde foto in png formaat.
pi_60029968
't compressiealgoritme dat in png wordt gebruikt is efficiënter dan dat van gif. Bij gif moet het aantal kleuren een macht van 2 zijn.

En Light, waarom is je usericon een jpeg?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_60036098
Ik had een jpgje van 56KB omgezet middels bovenstaande code naar PNG en kwam op een bestand uit van ruim 250KB!? beetje te gek vind ik zelf

En heeft iemand een link naar een tutoriaal over replce into etc want als ik via google zoek en de comments lees wordt ik er niet echt heel veel wijzer van

Ik wil namelijk het volgende.

Kijk of ip adres bestaat?
-- Ja --> lees ID
-- Nee -> insert data -> return ID

het gaat mij alleen om het terug gegeven ID

[ Bericht 50% gewijzigd door Chandler op 11-07-2008 10:11:14 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 11 juli 2008 @ 10:18:55 #68
63192 ursel
"Het Is Hier Fantastisch!
pi_60036365
quote:
Op vrijdag 11 juli 2008 10:03 schreef Chandler het volgende:
Ik had een jpgje van 56KB omgezet middels bovenstaande code naar PNG en kwam op een bestand uit van ruim 250KB!? beetje te gek vind ik zelf

En heeft iemand een link naar een tutoriaal over replce into etc want als ik via google zoek en de comments lees wordt ik er niet echt heel veel wijzer van

Ik wil namelijk het volgende.

Kijk of ip adres bestaat?
-- Ja --> lees ID
-- Nee -> insert data -> return ID

het gaat mij alleen om het terug gegeven ID
SELECT LAST_INSERT_ID();
pi_60038854
@ursel, het ID hoeft dus niet per defenitie de laatste ID te zijn
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_60038999
quote:
Op vrijdag 11 juli 2008 12:34 schreef Chandler het volgende:
@ursel, het ID hoeft dus niet per defenitie de laatste ID te zijn
Wel als je aan het inserten bent, want ID`s zijn per definitie auto-increment keys. Whats the use otherwise?
  vrijdag 11 juli 2008 @ 12:43:39 #71
63192 ursel
"Het Is Hier Fantastisch!
pi_60039061
quote:
Op vrijdag 11 juli 2008 12:34 schreef Chandler het volgende:
@ursel, het ID hoeft dus niet per defenitie de laatste ID te zijn
Volgens jouw beschrijving :
Nee -> insert data -> return ID
Wil je direct je de ID terug krijgen van je insert. Daar gebeurd niets tussen volgens je uitleg.

Op de link die ik meegaf staat een hoop uitleg over last_insert_id.
Zover ik begrijp levert dat namelijk het ID terug die hij aanmaakt in je auto incremental field.

Als je wat anders wil moet je denk ik iets duidelijker zijn..
pi_60041543
Ik heb bv een tabel met ip adressen

10 10.10.10.1
11 10.10.10.2
12.10.10.10.3

Nu wil ik kijken of een ip adres bestaat, zo niet gelijk toevoegen.

SELECT id FROM ip WHERE ip='10.10.10.4'

MySQL returned 0 oftewel geen ID gevonden

Daarna doe ik een insert (ip) maar krijg een error dat 10.10.10.4 wel bestaat, raar!? deze stond er net nog niet in!

Dus genereerd mijn script een fout.

Wat wil ik nu? een manier vinden voor het voorkomen van dit probleem, een IF NOT EXISTS INSERT oid en daarna het ID van dit ip adres uitlezen, afvangen.

Hopelijk ben ik nu duidelijker.

PS. iemand nog een oplossing voor mijn kleine probleem met omzetten van GIF/JPG naar PNG?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_60046322
quote:
Op vrijdag 11 juli 2008 10:03 schreef Chandler het volgende:
Ik had een jpgje van 56KB omgezet middels bovenstaande code naar PNG en kwam op een bestand uit van ruim 250KB!? beetje te gek vind ik zelf
Dat is logisch. Jpeg is lossy, png is lossless. Png en gif zijn geschikt voor plaatjes met weinig verschillende kleuren. Jpeg is geschikt voor plaatjes met veel verschillende kleuren waarbij het niet erg is als er kleine foutjes geintroduceerd worden.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_60046606
quote:
Op vrijdag 11 juli 2008 14:35 schreef Chandler het volgende:
Ik heb bv een tabel met ip adressen

10 10.10.10.1
11 10.10.10.2
12.10.10.10.3

Nu wil ik kijken of een ip adres bestaat, zo niet gelijk toevoegen.

SELECT id FROM ip WHERE ip='10.10.10.4'

MySQL returned 0 oftewel geen ID gevonden

Daarna doe ik een insert (ip) maar krijg een error dat 10.10.10.4 wel bestaat, raar!? deze stond er net nog niet in!

Dus genereerd mijn script een fout.

Wat wil ik nu? een manier vinden voor het voorkomen van dit probleem, een IF NOT EXISTS INSERT oid en daarna het ID van dit ip adres uitlezen, afvangen.

Hopelijk ben ik nu duidelijker.
Gewoon die replace into gebruiken... Maar hoe ziet je code eruit, want ik snap niet echt wat er fout kan gaan met deze queries.

Never mind, ben erachter wat je fout mogelijk kan zijn:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
mysql> create table ip ( id INT NOT NULL PRIMARY KEY, ip TEXT );
Query OK, 0 rows affected (0.05 sec)

mysql> insert into ip (ip) VALUES ('10.0.0.1');
Query OK, 1 row affected, 1 warning (0.03 sec)

mysql> insert into ip (ip) VALUES ('10.0.0.2');
ERROR 1062 (23000): Duplicate entry '0' for key 1

-- drop table ip 

mysql> create table ip ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, ip TEXT );
Query OK, 0 rows affected (0.00 sec)

mysql> insert into ip (ip) VALUES ('10.0.0.2');
Query OK, 1 row affected (0.00 sec)

mysql> insert into ip (ip) VALUES ('10.0.0.2');
Query OK, 1 row affected (0.00 sec)

mysql> insert into ip (ip) VALUES ('10.0.0.2');
Query OK, 1 row affected (0.00 sec)


Maw, check je table ff, denk dat daar de fout in zit, en niet in je php/mysql code in je script.

[ Bericht 45% gewijzigd door slakkie op 11-07-2008 18:48:11 ]
pi_60047011
Chandler, check ook wat voor index je op je ip table hebt zitten, en of die index wel lang genoeg is. Heb je een unique index van bijv 10 dan zijn voor mysql 10.123.123.123 en 10.123.123.222 hetzelfde en zal dat een error triggeren als je ze allebei insert. Je moet de index voor een ip een grootte van 15 geven voor ipv4 adressen.
pi_60047127
quote:
Op donderdag 10 juli 2008 22:25 schreef SuperRembo het volgende:

En Light, waarom is je usericon een jpeg?
Gewoon, ruim binnen de 10240 bytes en nooit zin gehad om het gevonden plaatje aan te passen.
  vrijdag 11 juli 2008 @ 22:18:15 #77
107951 JortK
Immer kwaliteitsposts
pi_60055605
quote:
Op vrijdag 11 juli 2008 18:23 schreef SuperRembo het volgende:

[..]

Dat is logisch. Jpeg is lossy, png is lossless. Png en gif zijn geschikt voor plaatjes met weinig verschillende kleuren. Jpeg is geschikt voor plaatjes met veel verschillende kleuren waarbij het niet erg is als er kleine foutjes geintroduceerd worden.
Wat raad je me aan dan? hoe kan ik toch zorgen dat deze afbeeldingen kleiner worden?
quote:
Op vrijdag 11 juli 2008 18:42 schreef slakkie het volgende:

[..]

Gewoon die replace into gebruiken... Maar hoe ziet je code eruit, want ik snap niet echt wat er fout kan gaan met deze queries.

Never mind, ben erachter wat je fout mogelijk kan zijn:
[ code verwijderd ]

Maw, check je table ff, denk dat daar de fout in zit, en niet in je php/mysql code in je script.
Helaas, het heeft niets te maken met autoincrement, er staan namelijk al meer dan 40.000 ip adressen in deze tabel waarbij dit probleem af en toe voorkomt

Waarschijnlijk doordat het script 2x op bijna dezelfde tijd geladen wordt oid?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_60055723
quote:
Op zaterdag 12 juli 2008 09:33 schreef Chandler het volgende:

[..]

Wat raad je me aan dan? hoe kan ik toch zorgen dat deze afbeeldingen kleiner worden?
[..]

Helaas, het heeft niets te maken met autoincrement, er staan namelijk al meer dan 40.000 ip adressen in deze tabel waarbij dit probleem af en toe voorkomt

Waarschijnlijk doordat het script 2x op bijna dezelfde tijd geladen wordt oid?
Check je indexen eens....
pi_60055858
quote:
Op zaterdag 12 juli 2008 09:33 schreef Chandler het volgende:

[..]

Wat raad je me aan dan? hoe kan ik toch zorgen dat deze afbeeldingen kleiner worden?
Wat voor plaatje is het dan, en moet het wel kleiner dan 50 kb? Je kunt ook GIF proberen, of de kwaliteit wat naar beneden zetten ofzo.
pi_60056134


Kwam ik net ergens tegen leuk hoor

Mijn index is

1
2
3
4
5
6
7
CREATE TABLE `ip` (
  `id` int(11) NOT NULL auto_increment,
  `ip` varchar(15) NOT NULL,
  `hostname` varchar(128) NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `ip_2` (`ip`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=18371 


zoals je ziet alleen een index op IP en verder nix dus snap ik niet wat ik fout doe!
quote:
Op zaterdag 12 juli 2008 10:08 schreef Light het volgende:
Wat voor plaatje is het dan, en moet het wel kleiner dan 50 kb? Je kunt ook GIF proberen, of de kwaliteit wat naar beneden zetten ofzo.
Ik had de compressie al op 9 gezet maar dat werkte ook niet echt
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_60056473
Net even een compressie scriptje geschreven, valt me mee qua comprimeren (3e en 4e test)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php
$img 
"image.jpg";
$img_new "image.png";


// first test
$im imagecreatefromJPEG($img);

$im_new imagecreatetruecolor(imagesx($im), imagesy($im));

imagecopyresampled $im_new
                     
$im
                     
0
                     
0
                     
0
                     
0
                     
imagesx($im), 
                     
imagesy($im), 
                     
imagesx($im), 
                     
imagesy($im));

imagePng($im_new$img_new9);

echo 
'Org:' filesize($img) . " - new: " filesize($img_new) . '<br />';
echo 
'<img src="' $img_new '"><br />';

unset(
$im);
unset(
$im_new);

// second test

$im imagecreatefromJPEG($img);
imagePng($im$img_new9);

echo 
'Org:' filesize($img) . " - new: " filesize($img_new) . '<br />';
echo 
'<img src="' $img_new '"><br />';

unset(
$im);
unset(
$im_new);

// third test

$im imagecreatefromJPEG($img);

$im_new imagecreate(imagesx($im), imagesy($im));

imagecopyresampled $im_new
                     
$im
                     
0
                     
0
                     
0
                     
0
                     
imagesx($im), 
                     
imagesy($im), 
                     
imagesx($im), 
                     
imagesy($im));

imagePng($im_new$img_new9);

echo 
'Org:' filesize($img) . " - new: " filesize($img_new) . '<br />';
echo 
'<img src="' $img_new '"><br />';

unset(
$im);
unset(
$im_new);


// 4th test

// third test

$im imagecreatefromJPEG($img);

$im_new imagecreate(imagesx($im), imagesy($im));

imagecopy $im_new
                     
$im
                     
0
                     
0
                     
0
                     
0
                     
imagesx($im), 
                     
imagesy($im));

imagePng($im_new$img_new9);

echo 
'Org:' filesize($img) . " - new: " filesize($img_new) . '<br />';
echo 
'<img src="' $img_new '"><br />';

unset(
$im);
unset(
$im_new);
?>


Org:28747 - new: 109391

Org:28747 - new: 109391

Org:28747 - new: 31038

Org:28747 - new: 31038
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_60056498
quote:
Op zaterdag 12 juli 2008 09:33 schreef Chandler het volgende:
Helaas, het heeft niets te maken met autoincrement, er staan namelijk al meer dan 40.000 ip adressen in deze tabel waarbij dit probleem af en toe voorkomt

Waarschijnlijk doordat het script 2x op bijna dezelfde tijd geladen wordt oid?
Dat laatste zal het wel zijn dan maar wij kunnen niet zien waar en wanneer dat script aangeroepen wordt.
pi_60057043
quote:
Op zaterdag 12 juli 2008 11:12 schreef Chandler het volgende:
Net even een compressie scriptje geschreven, valt me mee qua comprimeren (3e en 4e test)
[edit]
Wat wil je hier nou mee testen/aantonen? Png en jpeg hebben ieder hun eigen toepassing. Waarom moet het per see png worden?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_60058048
quote:
Op zaterdag 12 juli 2008 11:14 schreef Farenji het volgende:
Dat laatste zal het wel zijn dan maar wij kunnen niet zien waar en wanneer dat script aangeroepen wordt.
Maar iemand nog een duidelijke tutoriaal over on replace?
quote:
Op zaterdag 12 juli 2008 12:03 schreef SuperRembo het volgende:
[edit]
Wat wil je hier nou mee testen/aantonen? Png en jpeg hebben ieder hun eigen toepassing. Waarom moet het per see png worden?
Omdat ik graag binnen het systeem 1 bestandstype support. Of is dit onzin?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_60058292
quote:
Op zaterdag 12 juli 2008 13:19 schreef Chandler het volgende:

[..]

Maar iemand nog een duidelijke tutoriaal over on replace?
Je zou eens hier of hier kunnen kijken.
quote:
Omdat ik graag binnen het systeem 1 bestandstype support. Of is dit onzin?
Het voegt niets toe in vergelijking met het ondersteunen van gif/jpg/png.
pi_60059467
Ik heb even de insert gelezen maar wil eingelijk bij duplicate niets doen... helaas ben ik denk ik verplicht om een veld aan te passen oid

Liefst zou ik gewoon bij een ON DUPLICATE niets doen, maar dan krijg ik ook niets terug met LAST_INSERT_ID()

Anyone suggesties?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_60060487
quote:
Op zaterdag 12 juli 2008 14:59 schreef Chandler het volgende:
Ik heb even de insert gelezen maar wil eingelijk bij duplicate niets doen... helaas ben ik denk ik verplicht om een veld aan te passen oid

Liefst zou ik gewoon bij een ON DUPLICATE niets doen, maar dan krijg ik ook niets terug met LAST_INSERT_ID()

Anyone suggesties?
Ja, tijd voor een andere aanpak.

Eerst met INSERT IGNORE de gegevens invoeren. Een dubbele rij wordt genegeerd door die IGNORE. Dan ga je met ROW_COUNT() of mysql_affected_rows() ofzo uitzoeken of er 0 of 1 rijen zijn toegevoegd. Als 0, dan heb je een SELECT query nodig om de id te achterhalen. Als 1 dan kun je dat met LAST_INSERT_ID() of mysql_insert_id() dat id uitzoeken.

Of het kan nog anders. Eerst met INSERT IGNORE een rij toevoegen. Daarna weet je zeker dat de waarde in de database staat en kun je de id er met een SELECT weer uithalen.
pi_60065489
quote:
Op zaterdag 12 juli 2008 14:59 schreef Chandler het volgende:
Ik heb even de insert gelezen maar wil eingelijk bij duplicate niets doen... helaas ben ik denk ik verplicht om een veld aan te passen oid

Liefst zou ik gewoon bij een ON DUPLICATE niets doen, maar dan krijg ik ook niets terug met LAST_INSERT_ID()

Anyone suggesties?
Kan je on duplicate niet de bestaande rij updaten met dezelfde waarde?
Dan verandert er niks maar heb je wel hetzelfde resultaat?
pi_60078044
@Chandler:

Waarom gebruik je het ip adres zelf niet als primary key, aangezien je /32 opslaat (1 ip adres), welke dus eigenlijk al uniek is.

Je kan dan gewoon REPLACE INTO iptables (ip, hostname, rest) VALUES ( '127.0.0.1', 'localhost', 'overige'); uitvoeren.

Je kan trouwens ook dit doen:

INSERT INTO ... ON DUPLICATE KEY UPDATE, zie hier: http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

Tevens wil ik ook even vermelden dat niet alle IP's een hostname zullen hebben.. Je kan mogelijk problemen daarmee krijgen als ISP's even niet opletten en een range niet definieren in hun zonefile (aangezien je NOT NULL hebt gedefinieerd op dat veld).

[ Bericht 19% gewijzigd door slakkie op 13-07-2008 17:18:03 ]
pi_60092534
Ik zal eens wat uitprinten over ON DUPLICATE KEY en het eens rustig doornemen.

Indien een IP geen hostname heeft staat daar gewoon het IP adres!

ik kan ook inet_atom gebruiken om IP adressen op te slaan, zit erg te twijfelen of ik die niet beter kan gebruiken ipv varchar!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_60092607
Heb nu SQL server 2005 draaien en nu wil het dat ik met acces gegevens daar vanaf wil halen maar acces kan SQL gewoon niet vinden. Ik gebruik Office 2003 met Windows XP.
Het AT maakt meer kapot dan je lief is
pi_60093395
Ik heb net even een opzetje gemaakt met 25000 ip adressen

met varchar 16 heb ik 2,5MB aan data
met unsigned int (10) heb ik 1,6MB aan data

invoeren met inet_atom en uitlezen met inet_ntoa

Helaas kon ik niet een groot verschil met uitlezen zien daarvoor had ik nog te weinig ip adressen.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  maandag 14 juli 2008 @ 12:30:32 #94
85514 ralfie
!Yvan eht nioj
pi_60093697
quote:
Op maandag 14 juli 2008 12:16 schreef Chandler het volgende:
Ik heb net even een opzetje gemaakt met 25000 ip adressen

met varchar 16 heb ik 2,5MB aan data
met unsigned int (10) heb ik 1,6MB aan data

invoeren met inet_atom en uitlezen met inet_ntoa

Helaas kon ik niet een groot verschil met uitlezen zien daarvoor had ik nog te weinig ip adressen.
en als je nou vier TINYINT's doet
pi_60094279
volgens mij blijft het dan net zo groot als het niet groter wordt
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  maandag 14 juli 2008 @ 13:52:41 #96
85514 ralfie
!Yvan eht nioj
pi_60095701
wacht, int is 4 bits, nevermind
pi_60101023
quote:
Op maandag 14 juli 2008 13:52 schreef ralfie het volgende:
wacht, int is 4 bitsbytes, nevermind
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  maandag 14 juli 2008 @ 18:38:43 #98
85514 ralfie
!Yvan eht nioj
pi_60102587
quote:
Op maandag 14 juli 2008 17:20 schreef SuperRembo het volgende:

[..]


wacht, int is 4 bytes, nevermind
pi_60103657
Een numerieke index is altijd veel beter, zelfs 4 tinyints is nog beter dan varchar, maar een INT is echt het beste. Met een INT kolom heb je met 4 bytes unsigned precies genoeg mogelijkheden voor alle mogelijke IPv4 adressen, niet meer, niet minder, optimaler kan niet. En een index op een numerieke kolom van 4 bytes is natuurlijk veel kleiner en sneller dan op een string van max 15 karakters, da's bijna 4 keer zoveel!! Bovendien is het heel makkelijk rekenen en vergelijken met ips als INTs, ontzettend veel makkelijker en efficienter dan met strings. Hoe meer data je krijg, hoe inefficienter een varchar kolom wordt tov de int kolom. Met 25000 rows ga je dat nog niet echt merken maar op een gegeven moment echt wel, in opslagruimte en dus ook geheugengebruik, maar ook in processorbelasting.
  maandag 14 juli 2008 @ 23:03:52 #100
85514 ralfie
!Yvan eht nioj
pi_60109268
1
2
3
4
SELECT tpc.topic_id, tpc.topic_poster AS author, tpc.topic_first_poster_name, tpc.topic_replies, pf.categories, pf.raters, pf.rating, pf.changed
FROM phpbb_topics tpc, phpbb_posts p, portfolios pf
WHERE tpc.topic_id=pf.id AND p.post_id = tpc.topic_first_post_id
ORDER BY tpc.topic_first_poster_name ASC, pf.rating DESC LIMIT 50


ok, even snel. Het gaat op mysql 5.0 ( 5.0.51a-community )

volgens mysql.com is ORDER BY {string} case-insensitive. Ondanks dat geeft bovenstaande query bij deze mysql toch echt case-sensitive gesorteerde meuk. What gives? Iemand idee waarom?

Terwijl ik dit typ bedenk ik mij dat in phpbb3 (wat ik aan het modden ben) de waarde die ik ORDER als BLOB opslaat. Kan dit de reden zijn? Iets aan te doen (behalve die tabel aanpassen, dat is geen optie)? En zo niet, is er een andere manier van oplossen behalve ORDER BY CAST(tpc.topic_first_poster_name AS CHAR) ? (of is performance impact daarbij nihil?)

[ Bericht 5% gewijzigd door ralfie op 14-07-2008 23:17:18 ]
pi_60109885
wat als je die pf.rating wegflikkert uit je order by statement?

hier werkt het namelijk als verwacht, mysql Ver 14.12 Distrib 5.0.38, for pc-linux-gnu (i486) using readline 5.2

Never mind, je maakt gebruik van een BLOB wat weer anders is met sorteren:

BLOB columns have no character set, and sorting and comparison are based on the numeric values of the bytes in column values.

Misschien heb je hier wat aan:
http://dev.mysql.com/doc/refman/5.0/en/blob.html
quote:
Another way to use GROUP BY or ORDER BY on a BLOB or TEXT column containing long values when you want more than max_sort_length bytes to be significant is to convert the column value into a fixed-length object. The standard way to do this is with the SUBSTRING() function. For example, the following statement causes 2000 bytes of the comment column to be taken into account for sorting:

mysql> SELECT id, SUBSTRING(comment,1,2000) FROM t
-> ORDER BY SUBSTRING(comment,1,2000);


[ Bericht 66% gewijzigd door slakkie op 14-07-2008 23:35:50 ]
pi_60110011
quote:
Op maandag 14 juli 2008 11:38 schreef bobsqaud het volgende:
Heb nu SQL server 2005 draaien en nu wil het dat ik met acces gegevens daar vanaf wil halen maar acces kan SQL gewoon niet vinden. Ik gebruik Office 2003 met Windows XP.
Als je een odbc aanmaakt vind hij je sql dan wel
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')