[ frroggy @ 01.06.2006. 17:43 ] @
Ovaj problem sam i ranije primećivao u MSExcel-u ali to je bilo u letu pa nisam obraćao mnogo pažnje na to. E sada, kada se isti problem javio sa MySQL-om moram nekog da pitam. Elem, evo ga query:

Code:
SELECT naziv FROM automobili ORDER BY naziv


u bazi imam recimo

Code:
Audi , Alfa Romeo, Mercedes, BMW


i on mi da rezultat :

Code:
Alfa Romeo, BMW, Mercedes, Audi


Dakle, Audi se pojavi na zadnjem mestu ?!?

Nakon dodavanja novih automobila, oni se redom pojavljuju posle Audija, .... tj. ako sada dodam Ford u bazu
dobijam Ford ispisan posle Audija.


Može neka sugestija?
[ misk0 @ 02.06.2006. 00:06 ] @
Nesto ne radis dobro...

Code:

mysql> create table automobili (naziv varchar(20));

mysql> insert into automobili values ('Alfa Romeo');
Query OK, 1 row affected (0.00 sec)

mysql> insert into automobili values ('Mercedes');
Query OK, 1 row affected (0.00 sec)

mysql> insert into automobili values ('BMW');
Query OK, 1 row affected (0.00 sec)

mysql> insert into automobili values ('Audi');
Query OK, 1 row affected (0.00 sec)

mysql> select naziv from automobili;
+------------+
| naziv      |
+------------+
| Alfa Romeo |
| Mercedes   |
| BMW        |
| Audi       |
+------------+

mysql> select naziv from automobili order by naziv; 
+------------+
| naziv      |
+------------+
| Alfa Romeo |
| Audi       |
| BMW        |
| Mercedes   |
+------------+

mysql> insert into automobili values ('Ford');
Query OK, 1 row affected (0.00 sec)

mysql> select naziv from automobili order by naziv; 
+------------+
| naziv      |
+------------+
| Alfa Romeo |
| Audi       |
| BMW        |
| Ford       |
| Mercedes   |
+------------+

[ jablan @ 02.06.2006. 07:41 ] @
Možda imaš na početku spejs u nazivima Alfa Romeo, BMW, Mercedes. (Npr. ako si jih dobio splitovanjem, a nisi posle radio trimovanje.)
[ frroggy @ 02.06.2006. 08:52 ] @
Eh brate da imam "SPEJS" pevo bih od sreće (a usput, SPACE bi ga stavio na prvo mesto, a ne na poslednje...), nego imam tabelu sa poljima:

id - int(6) NOT NULL,
naziv - varchar(100) NOT NULL,
vrednost - varchar(100) NOT NULL,

tabela, ko svaka druga tabela kreirana u mom životu ....

Mislim da tu nema šta da smrdi. E sada, da ne bih ja ručnu upisivao jedan po jedan upis ja napravim *.txt file:


Alfa Romeo
Audi
BMW
Mercedes

(malo sam skratio listu automobila kojih ima mnogo, ali poenta je da prvi u listi ode kasnije na zadnje mesto, i svi dodati nakon njega idu posle poslednjeg...)

i skript koji radi sledeće:

1. - učita ceo fajl u promenljivu
2. - menja \n u <br> sa nl2br
3. - splituje to u neki niz na osnovu "<br />"
4. - od prvog do poslednjeg člana niza upiše sve to u bazu sa query-jem:

"INSERT INTO auto_definicije VALUES ('','Proizvođač','$vrednost')";


Ispravite me ako negde grešim...

[ jablan @ 02.06.2006. 09:27 ] @
Citat:
frroggy: Eh brate da imam "SPEJS" pevo bih od sreće (a usput, SPACE bi ga stavio na prvo mesto, a ne na poslednje...), nego imam tabelu sa poljima:

I stavlja na prvo mesto. Ovaj što ti je na poslednjem nema spejs. (Ustvari, po tvojoj priči, pre da je neki drugi karakter tipa \n ili \r nego spejs, ali svejedno).
Citat:
2. - menja \n u <br> sa nl2br

nl2br ti ne menja \n sa <br> već samo dodaje <br>. Što znači da posle toga imaš i \n i <br>. A verovatno i \r, ako koristiš neki vindousov tekst editor.

A šta će ti uopšte ta peripetija sa nl2br? Imaš file() koji ti učita fajl u niz, prođeš kroz taj niz i u bazu ubaciš trim() svakog njegovog elementa.

[Ovu poruku je menjao jablan dana 02.06.2006. u 10:40 GMT+1]
[ Dejan Topalovic @ 02.06.2006. 11:15 ] @
A zasto ne iskoristiti LOAD INTO ... ?
[ frroggy @ 02.06.2006. 12:51 ] @
E jablane, jablane, šta bih ja bez tebe.

Mnogo ti hvala za opis nl2br jer nisam imao pojma da ne menja u potpunosti \n u <br>.....sada znam ...

a naročito za file() funkciju koju isiot do sada nisam koristio. (Mnogo je tu f-ja da ih sve oma nadjem )

Inače, da
bio je problem u zaostalim "\n" i/ili "\r"



Problem rešen, još jedared hvala.