Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nazwa pola w MySQL, a odwoływanie się do niej w PHP
Forum PHP.pl > Forum > PHP
Mostrom
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
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
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
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
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
Id | Imie | Nazwisko | Ocena1_1 | Ocena1_2 | Ocena2_1 | Ocena2_2 |data1_1|data1_2|data2_1|data2_2
I po sprawie.
Mostrom
To by psuło porządek w jaki napisałem skrypt sad.gif
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
Cytat
To by psuło porządek w jaki napisałem skrypt
Chciałeś powiedziec "bałagan" w jakim napisales skrypt smile.gif
Mostrom
Gdybyś zobaczył ten skrypcik... ahh ile go porządkowałem ;] Identycznie jak w phpMyadmin.
nospor
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.... winksmiley.jpg
Mostrom
Lol jeszcze tak sie nie zestarzałem haha.gif

Czemu nazywanie pól uważasz za błąd?
nospor
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ł smile.gif 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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.