Kshyhoo
19.09.2016, 17:35:04
Jak mam dodać z poziomu PHP nową kolumnę o nazwie
nazwaX, gdzie
X to kolejny numer istniejących kolumn?
ALTER TABLE tabela ADD kolumnaX TINYINT(3) NOT NULL
KsaR
19.09.2016, 17:45:52
SELECT COUNT(*)
FROM `information_schema`.`columns`
WHERE `table_name` = 'tabela'
Tym pobierzesz ilość kolumn.
W zapytaniu tylko zmienisz.
kapslokk
19.09.2016, 17:49:19
Z ciekawości - po co Ci tyle kolumn?
Kshyhoo
19.09.2016, 17:52:07
Trzymam tak statystyki. Inaczej musiałbym trzymać w jednym polu i trudniej mi uaktualniać.
kapslokk
19.09.2016, 18:00:38
Czasem trudniej == lepiej
Kshyhoo
19.09.2016, 18:13:52
Tyle, że trzeba się znać. Ja jestem amatorem, dłubię na swoje potrzeby i czasem trudno mi coś skręcić. Otóż, użytkownicy i ich statystyki ich działań - jak trzymać?
KsaR
19.09.2016, 18:17:06
Cytat(Kshyhoo @ 19.09.2016, 19:13:52 )

(...)użytkownicy i ich statystyki ich działań - jak trzymać?
Przedstaw jak to obecnie działa, jakie są te statystyki ?
I po co w sumie te dodatkowe kolumny ? - pokaż jak kombinujesz z tym to pewnie da się coś poradzić.
Kshyhoo
19.09.2016, 18:22:46
users: id, name
przygody: id, name
staty: id, p1, p2, p3, ...
statystyki (liczby dodatnie i ujemne), pierwsza kolumna id usera, ile przygód, tyle kolumn
KsaR
19.09.2016, 18:30:16
Pokaż jeszcze przykładowe zapytania.
-- Rozumiem że tabela przygody została zastąpiona przez to z początku tematu ?
Kshyhoo
19.09.2016, 18:32:08
Ta, to o nią mi chodziło. O jakie zapytania pytasz? Te ze statystykami?
KsaR
19.09.2016, 18:33:11
Przykładowe zapytania jak to obecnie funkcjonuje, żeby jakoś lepiej obmyślić
Kshyhoo
19.09.2016, 19:10:10
Proste, bo zwykłymi selektami pobieram z tabel i łączę w jedną tablicę, by uniknąć skomplikowanych zapytań.
Cytat(KsaR @ 19.09.2016, 18:45:52 )

SELECT COUNT(*)
FROM `information_schema`.`columns`
WHERE `table_name` = 'tabela'
Pod phpMyAdmin:
5
W php:
mysqli_result Object ( [current_field] => 0 [field_count] => 1 [lengths] => [num_rows] => 1 [type] => 0 )
kapslokk
19.09.2016, 19:35:46
Result trzeba jeszcze fetchować.
Kshyhoo
22.09.2016, 20:44:20
Czyli tak?
$sql = "SELECT COUNT(*) FROM `information_schema`.`columns` AS nradv WHERE `table_name`='stat'";
$result = mysqli_query($con, $sql);
$row = mysqli_fetch_array($result, MYSQLI_NUM);
$na = 'adv'.$row[0];
mysqli_query($con, "ALTER TABLE stat ADD ".$na." TINYINT(3) NOT NULL");
A jak inaczej mógłbym trzymać statystyki? Gdy dochodzi user i przygoda... sprawa się komplikuje.
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.