-
Php - Sql, logica
Non so che titolo dare... è un problema di logica riguardante Php - Sql.
Vediamo
Abbiamo na tabella...
a b
1 1
1 2
1 3
1 4
1 5
2 1
1 6
2 2
2 3
3 1
1 7
3 2
2 4
Non so se si capisce... allora per la colonna b non m'interessa niente... ma la colonna a.
Ecco io voglio che incrementi sono in certe occasioni...
Cioè fare una query sql che lo incrementi... quando ci sono altre che non lo incrementano.
Cioè ci deve essere una query che lo incrementa di uno e un altra che lo fa rimanere ad un valore che gli do io...
per la seconda non ci deve essere problemi... ma per la prima...
Mi spiego con un altro esempio.. ho
1
1
1
1
1
1
query X --> incrementa
2
2
2
query X
3
query X
4
4
Chiaro? No...: ( lo so... fatemi domande se non mi è chiaro perchÈ non vedo altro modo per spiegarlo.
-
non ho capito nulla :lolloso:
-
allora in breve... voglio tramite una query sql che il numero nella colonna a incrementi...
non posso usare auto_increment, perchè incrementerebbe sempre... ma io voglio solo da una query mysql
-
Non mi è ancora chiaro, potresti farci un esempio? :wink:
-
ma deve incrementare ogni record della colonna di uno o solo uno in particolare?
mavericck
-
si ma devo incrementarlo tramite mysql query... e non con autoincrement.
Questo implica che non sempre si autoincrementa
-
ha una chiave primaria la tabella?
mavericck
-
la tabella si, ma non serve a niente... la colonna a invece non è la chiave primaria poichè se no non potrebbe avere valori uguali
-
Codice PHP:
<?php
$temp=array();
$i=0;
$res=mysql_query("SELECT a FROM tabella ORDER BY id",$db);
while ($record = mysql_fetch_assoc($res))
{
$temp["$i"]=$record['a'];
$i++;
}
for ($e=0;$e<=$i;$e++)
{
$temp["$e"]++;
mysql_db_query("UPDATE tabella SET a ='".$temp["$e"]."' WHERE id = ".$e);
}
?>
grezzo alla grande, ma l'ho scritto in 30 sec
comunque l'idea è di creare una array associativo che riproduca la colonna a,
incrementarne i valori, e riportarli sul db
naturalmente non è garantito niente e bisogna rivedere qualcosa ma l'idea di fondo dovrebbe essere corretta
mavericck