Mostrom
11.10.2010, 19:10:53
Witam! Zrobiłem sobie coś takiego na stronie, że mogę kiedy chcę zmienić sobie nazwę pola w tabeli MySQL. Jednak te pola to będą daty (np. 4.09 albo 7.10) co wymaga użycia KROPEK (ten sam błąd mi wywala gdy użyję SPACJI)!
O ile zmienienie nazwy w MySQL to nie problem, bo zmienia mi bez problemu i wyświetla też. Gorzej jednak, gdy chcę zaingerować w dane tabeli z poziomu mojej stronki. Wtedy wywala błąd, że nieprawidłowy index..
Oczywiście to wynika z tego, że zrobiłem tabelę w jednej zmiennej tablicowej za pomocą mysql_fetch_array() i muszę odwołać się do tego pola zawierającego kropkę za pomocą indexu tablicy asocjacyjnej.
Czy da się to jakoś minąć bez zmieniania w trakcie wykonywania skryptu kropek, na jakieś inne znaki?? To by było bardzo kłopotliwe...
nospor
11.10.2010, 19:17:11
za bardzo nie wiem jaki masz problem...
zrob sobie
print_r($row);
gdzie $row to wynik mysql_fetch_array i wszystko będzie jasne
Mostrom
11.10.2010, 19:39:58
Mi pokazuje nazwę tabeli na bieżąco, po prostu będę musiał ją czasem zmienić na nazwę zawierającą kropki.
Chodzi o to, że:
U siebie na stronie mam to co widzę w phpMyAdmin, czyli tabelę która na górze ma nazwy pól, z boku nazwy wierszy, a w środku dane.
Za pomocą guzika "Zmień dane" mogę sprawić, że widok zawartości tabeli zamieni się w formularz.
Za pomocą guzika "Zmień nazwy" mogę sprawić, że nazwy PÓL w tabeli zamienią się w formularz.
I teraz tak:
Klikam na "Zmień nazwy" i zmieniam nazwę danego pola z domyślnej, czyli "1" na nową nazwę "4.10". Wszystko przebiega pomyślnie, wracam do normalnego widoku tabeli, nazwy są takie jak zmieniłem.
Klikam na "Zmień dane" i zmieniam dane w każdym inpucie na takie jakie chcę. I tutaj mi wywala błąd, że nie może wstawić nowej danej w polu które zawiera znak kropki.
Oto mój problem.
nospor
11.10.2010, 19:46:12
raz: nie tworzy się takich durnych pol.
Moze opisz co chcesz zrobic, po co ci takie pola to moze pomozemy ci to zrobic lepiej
dwa: nazwy pol bierze sie takie specjalne znaki `nazwa pola`. Nie myl z apostrofem '
Czyli nie 4.10 a `4.10`
Ale patrz punkt pierwszy
Mostrom
11.10.2010, 20:01:21
Wiem, że nazwy podaje sie w odwróconych apostrofach, to był przykład po polsku, a nie w SQL...
Tworzy się to, na co ma się aktualną potrzebę. Moją potrzebą jest konkretnie porządkowanie ocen wg dat.
Oto przykład tabelki z dwoma ocenami w MySQL:
Id | Imie | Nazwisko | Ocena1_1 | Ocena1_2 | Ocena2_1 | Ocena2_2 |
Jednak powyżej widać 4 oceny. Chodzi o to, że ocena, która zawiera na końcu "_1", to ocena którą uczeń uzyskał, a ocena z "_2" to maksymalna ilość punktów, jaką mógł uzyskać.
ważne: NAZWY KAŻDEJ Z TYCH DWÓCH OCEN MUSZĄ SIĘ ZE SOBĄ ZGADZAĆ. W tym wypadku nazwą pierwszej oceny jest "Ocena1", a drugiej "Ocena2".
Tak jednak dziennik nie wygląda - przy ocenach muszą być daty otrzymania oceny. Dlatego zamiast nazwy "Ocena1" zmieniam nazwę na "4.10".
Dalej procedura zmieniania ocen cząstkowych jest wam zapewne znana ze szkoły, tzn w każdym momencie musi być możliwość jej zmiany.
Mój kod działa pięknie tylko wtedy, gdy nazwy ocen nie zawierają kropek.
Nie wiem co mam jeszcze wyjaśnić
nospor
11.10.2010, 20:04:28
Id | Imie | Nazwisko | Ocena1_1 | Ocena1_2 | Ocena2_1 | Ocena2_2 |data1_1|data1_2|data2_1|data2_2
I po sprawie.
Mostrom
11.10.2010, 20:12:14
To by psuło porządek w jaki napisałem skrypt

Wolę, żeby daty znajdowały się w nazwie pola, zresztą tak już zrobiłem tą machinę.
Najwyżej będę zamiast kropek używał przecinków, bo one działają, tylko w wyświetlaniu zamienię to na kropki za pomocą jakiegoś str_replace. I chyba tak zrobię, jeśli nie da się tego ominąć.
nospor
11.10.2010, 20:14:09
Cytat
To by psuło porządek w jaki napisałem skrypt
Chciałeś powiedziec "bałagan" w jakim napisales skrypt
Mostrom
11.10.2010, 20:20:48
Gdybyś zobaczył ten skrypcik... ahh ile go porządkowałem ;] Identycznie jak w phpMyadmin.
nospor
11.10.2010, 20:23:28
Mam nadzieję iż rozumiesz, że się z Ciebie nie naśmiewam. Chcę ci jedynie zwrócić uwagę na błąd jaki popełniłeś i w przyszłości będziesz miał to na uwadze.
A skrypcik możesz pokazać - obejrzymy, przeanalizujemy, zgłosimy uwagi, wystawimy rachunek....
Mostrom
11.10.2010, 20:54:53
Lol jeszcze tak sie nie zestarzałem

Czemu nazywanie pól uważasz za błąd?
nospor
11.10.2010, 21:00:50
Nazywanie pól nie uważam za blad. Uwazam za blad nadawanie dla pol nazw jako daty, które na dodatek się zmieniają... poroniony pomysł

Nie tym polega baza danych.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.