• Home
  • Forum
  • Fare Web
  • PHP

Modifica di un campo in funzione di un valore estratto, moltiplicando altri valori

  • Creatore Discussione Creatore Discussione Monital
  • Data di inizio Data di inizio 30 Nov 2011
Prec.
  • 1
  • 2
Primo Prec. 2 di 2

Monital

Utente Attivo
15 Apr 2009
778
2
18
  • 3 Dic 2011
  • #21
Monital ha scritto:
ho risolto estraendo i dati con LIMIT e poi assegno il dato al risultato della select e lo riuppo.
Clicca per allargare...

ho un problema alquanto strano

in pratica faccio questa query

PHP:
	$q2=mysql_query("SELECT * FROM tabella  ORDER BY actor DESC LIMIT 201,500");
while($riga2=mysql_fetch_array($q2)){

$result2=$riga2['actor'];
 $up2=mysql_query("UPDATE tabella SET campo=Bravo' WHERE actor IN($result2)");

}

però di aggiornare aggiorna quasi correttamente il databse però mi da un errore 500

Si è verificato un errore.

Se il problema persiste, probabilmente il programma che hai tentato di eseguire non funziona correttamente, o perché qualcuno ci sta lavorando, o perché si tratta di un malfunzionamento dovuto a qualche bug di programmazione, in questo caso informaci.
Clicca per allargare...

cosa c'è di sbagliato?


in questo file ci sono 4 query così 1 fino a 75 da 76 a 200 da 201 a 500 e da 501 a 800
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 4 Dic 2011
  • #22
ciao
il LIMIT non dovrebbe essere DA A, ma quanti dal_numero, cione dovrebbe essere
LIMIT 75, 1 poi LIMIT 75,76 poi LIMIT 75, 151 ecc...
però comunque c'è (almeno da da quanto ho capito) un piccolo errore di logica:
tui vuoi se il punteggio (lo chiamo così) vale es. 70 mettere in campox "mediocre" , se 80 "buono".... o viceversa.
ma facendo come fai tu se il record n° 76 ha punteggio 75 campox diventa "buono", mentre dovrebbe essere "mediocre"
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
  • 4 Dic 2011
  • #23
borgo italia ha scritto:
ciao
il LIMIT non dovrebbe essere DA A, ma quanti dal_numero, cione dovrebbe essere
LIMIT 75, 1 poi LIMIT 75,76 poi LIMIT 75, 151 ecc...
però comunque c'è (almeno da da quanto ho capito) un piccolo errore di logica:
tui vuoi se il punteggio (lo chiamo così) vale es. 70 mettere in campox "mediocre" , se 80 "buono".... o viceversa.
ma facendo come fai tu se il record n° 76 ha punteggio 75 campox diventa "buono", mentre dovrebbe essere "mediocre"
Clicca per allargare...

si cioè penso di averc apito che se scrivo limit 75,200 lui prende il range dalla riga 75 alla riga 200 giusto?

per il discorso dell'errore logico

io estraggo le prime 75 righe del campo "valore" ordinato per valore + alto quindi fino a 75 mette buono da 76 a 200 a 200 mediocre senza che manco vedo quanto sia effettivamente il valore.

non so se mi sono spiegato

però resta sto rpoblema che mi da errore anche su limit + bassi tiopo LIMIT 0,10
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 4 Dic 2011
  • #24
ciao
si cioè penso di averc apito che se scrivo limit 75,200 lui prende il range dalla riga 75 alla riga 200 giusto?
Clicca per allargare...
prende 75 record a partire dal 200centesimo, cioe prende il 200centesimo, il 201esimo, il 202esimo e così via sino al 274esimo

il tuo ragionamento fila se i "valori" sono unici, ma se possono essere duplicati ti puo capitare di avere (come minimo) due record con valore uguale posti al 75° uno ed al 76° l'altro, quindi perche (a parità di valore) il 75° diventa "buono" ed il 76° "mediocre"?
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
  • 4 Dic 2011
  • #25
borgo italia ha scritto:
ciao

prende 75 record a partire dal 200centesimo, cioe prende il 200centesimo, il 201esimo, il 202esimo e così via sino al 274esimo

il tuo ragionamento fila se i "valori" sono unici, ma se possono essere duplicati ti puo capitare di avere (come minimo) due record con valore uguale posti al 75° uno ed al 76° l'altro, quindi perche (a parità di valore) il 75° diventa "buono" ed il 76° "mediocre"?
Clicca per allargare...

No scusa borgo credo tu ti stia confondendo anche eprchè nonostante mi dia l'errore però me li uppa giusti così cioè dal 1 al 75 dal 76 al 200 etc.

ti prego aiutami con sta cosa dell'errore

alla fine mi uppa i campi ma mi esce quest'errore
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
27
Roma
alessandro1997.netsons.org
  • 4 Dic 2011
  • #26
Ci vuole poco a vedere se borgo ha ragione. Basta dare un'occhiata al manuale di MySQL:
The LIMIT clause can be used to constrain the number of rows returned by the SELECT statement. LIMIT takes one or two numeric arguments, which must both be nonnegative integer constants (except when using prepared statements).

With two arguments, the first argument specifies the offset of the first row to return, and the second specifies the maximum number of rows to return.
Clicca per allargare...
Quindi, scrivendo:
Codice:
SELECT * FROM tabella LIMIT 5, 10
La query recupererà dalla riga numero 5 alla riga numero 15 (5 + 10). Il primo valore indica la riga da cui partire, il secondo il numero di righe da selezionare. Se è specificato un solo valore, allora si parte dalla prima riga.
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
  • 4 Dic 2011
  • #27
alessandro1997 ha scritto:
La query recupererà dalla riga numero 5 alla riga numero 15 (5 + 10). Il primo valore indica la riga da cui partire, il secondo il numero di righe da selezionare. Se è specificato un solo valore, allora si parte dalla prima riga.
Clicca per allargare...

si ma ne ero sicuro perchè mi uppava fino ad un certo punto poi mi dà errore e si interrompe e non ne vengo fuori

questo il messaggio

Si è verificato un errore.

Se il problema persiste, probabilmente il programma che hai tentato di eseguire non funziona correttamente, o perché qualcuno ci sta lavorando, o perché si tratta di un malfunzionamento dovuto a qualche bug di programmazione, in questo caso informaci.
Clicca per allargare...

praticamente ho provato ad isolarlo ed è qi che toppa

questo è los cript
PHP:
$q=mysql_query("SELECT * FROM tabella  ORDER BY valore DESC LIMIT 0,60")or die (mysql_error());
$number = mysql_numrows($q);
while($riga=mysql_fetch_array($q)){
$result=$riga['valore'];
 $up=mysql_query("UPDATE tabella SET campo='Ottimo' WHERE valore IN($result)");
}

$q=mysql_query("SELECT * FROM tabella  ORDER BY valore DESC LIMIT 61,200")or die (mysql_error());
$number = mysql_numrows($q);
while($riga=mysql_fetch_array($q)){
$result=$riga['valore'];
 $up=mysql_query("UPDATE tabella SET campo='Buono' WHERE valore IN($result)");
}
$q=mysql_query("SELECT * FROM tabella  ORDER BY valore DESC LIMIT 201,440")or die (mysql_error());
$number = mysql_numrows($q);
while($riga=mysql_fetch_array($q)){
$result=$riga['valore'];
 $up=mysql_query("UPDATE tabella SET campo='Medio' WHERE valore IN($result)");
}
$q=mysql_query("SELECT * FROM tabella  ORDER BY valore DESC LIMIT 441,900")or die (mysql_error());
$number = mysql_numrows($q);
while($riga=mysql_fetch_array($q)){
$result=$riga['valore'];
 $up=mysql_query("UPDATE tabella SET campo='Scarso' WHERE valore IN($result)");
}

è il quarto che salta

mettendole insieme si blocca a metà della terza query non uppa tutto allor ain una pagina ho messo le prime 3 query e fa tutto alla perfezione la quarta anche da sola dà errore
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
27
Roma
alessandro1997.netsons.org
  • 4 Dic 2011
  • #28
Tu devi estrarre tutti i record il cui ID sia compreso tra 441 e 900? Puoi farlo così:
Codice:
SELECT * FROM tabella WHERE id >= 441 AND id <= 900
Dovrai modificare anche le altre query SQL.
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
  • 4 Dic 2011
  • #29
alessandro1997 ha scritto:
Tu devi estrarre tutti i record il cui ID sia compreso tra 441 e 900? Puoi farlo così:
Codice:
SELECT * FROM tabella WHERE id >= 441 AND id <= 900
Dovrai modificare anche le altre query SQL.
Clicca per allargare...

non propriamente devo prima listare da un valore + grande al più piccolo il campo "valore" e poi uppare i primi 100 i successivi 200 e così via

ma non 200 come valore ma come riga

quindi ordinati da 100 a 50 devo estrarre da 100 a 80 solo che non conoscendo che valore ci sia nell''intervallo ho epnsato di farlo ordinare in decrescene e poi con limit estrarre le righe
 
Ultima modifica: 4 Dic 2011

Monital

Utente Attivo
15 Apr 2009
778
2
18
  • 4 Dic 2011
  • #30
trovato almeno credo

come clausola dell'update usavo
PHP:
 WHERE $result IN($valore)
però scorrendo il database ho notato che tra una query e l'altra capitavano valori simili quindi andava in pappa

ho cambiando la query odrinando epr valore estraggo la riga dell'id ed uippo
PHP:
 WHERE $result IN($id)

così va seppure non perfetto eprchè invece di 140 ne prende 139 e la 140° avendo valore uguale alla 141 finisce nella query seguente però eprlomeno roa va
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 4 Dic 2011
  • #31
ciao
@alex
da certi punti di vista monital ha ragione: ho invertito l'ofset con quante righe (mentre i numeri si, il ragionamento non cambia invertendo)
@monital
però ribadisco (a parte il blocco dello script) che il sistema funzia (con logica) solo se tutti i valori sono sempre diversi l'uno dall'altro, prendiamo questo caso ad es

riga 0 valore 999
riga 1 valore 990
ecc.....
riga 60 valore = 100
riga 61 valore = 100
ecc...

alla riga 60 verrà uppato il "campo" a ottimo
alla riga 61 verra uppato il "campo" a buono
in quanto non si sa come l'ORDER BY valore ordina nel caso di valori uguali e quindi perchè a parità di valore due giudizi diversi?
 
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
Devi accedere o registrarti per poter rispondere.

Discussioni simili

J
[WP] Chiarimenti modifica campo
  • james81
  • 30 Nov 2015
  • WordPress
Risposte
0
Visite
1K
WordPress 30 Nov 2015
james81
J
L
modifica campo non funziona
  • lelemkop
  • 2 Lug 2013
  • PHP
Risposte
7
Visite
2K
PHP 5 Lug 2013
f107
F
Query modifica contenuto campo
  • floppyes
  • 9 Feb 2013
  • MySQL
Risposte
5
Visite
2K
MySQL 10 Feb 2013
floppyes
F
G
modifica campo testo in url
  • giacomolibero
  • 5 Gen 2010
  • Classic ASP
Risposte
8
Visite
3K
Classic ASP 7 Gen 2010
alessandro1997
M
Modifica dello sfondo di un campo in una sottomaschera
  • massimo07
  • 16 Dic 2009
  • MS Access
Risposte
0
Visite
2K
MS Access 16 Dic 2009
massimo07
M
Conoscere modifica campo tabella mySQL
  • RedWolf
  • 12 Mag 2009
  • Database
Risposte
1
Visite
3K
Database 3 Giu 2009
tokki
T
M
individuare l'ora della modifica del valore nel campo
  • mariolino2009
  • 22 Gen 2009
  • MySQL
Risposte
0
Visite
2K
MySQL 22 Gen 2009
mariolino2009
M
G
Modifica campo mysql
  • giovy58
  • 2 Gen 2007
  • PHP
Risposte
3
Visite
2K
PHP 10 Gen 2007
Eliox
C
modifica contenuto campo
  • claudia
  • 2 Nov 2006
  • MySQL
Risposte
1
Visite
2K
MySQL 28 Nov 2006
hellslord
M
Modifica Campo Contatore
  • mikey1
  • 18 Giu 2006
  • Database
Risposte
0
Visite
1K
Database 18 Giu 2006
mikey1
M
D
Jquery - modifica elemenento onlick
  • Dantevil
  • 1 Apr 2023
  • jQuery
Risposte
1
Visite
2K
jQuery 2 Apr 2023
WmbertSea
[Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress
  • Lino80
  • 9 Gen 2023
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
0
Visite
3K
Offerte e Richieste di Lavoro e/o Collaborazione 9 Gen 2023
Lino80
  • Bloccata
Modifica codice php personalizzato
  • JeiMax
  • 11 Set 2022
  • PHP
Risposte
2
Visite
1K
PHP 12 Set 2022
Max 1
P
Pagina modifica record che non funziona
  • precogcris
  • 28 Set 2021
  • PHP
Risposte
0
Visite
1K
PHP 28 Set 2021
precogcris
P
L
  • Bloccata
Modifica file upload in ASP
  • LucaVet
  • 29 Lug 2021
  • Classic ASP
Risposte
2
Visite
2K
Classic ASP 28 Ago 2021
Paolo69
P
modifica colore A Hover link website .
  • ppobi
  • 4 Mar 2021
  • WordPress
Risposte
2
Visite
2K
WordPress 4 Mar 2021
ppobi
P
P
Modifica con PHP di un node in una sitemap xml
  • Peterrey76
  • 27 Lug 2020
  • PHP
Risposte
0
Visite
1K
PHP 27 Lug 2020
Peterrey76
P
C
Software modifica sitoweb in tempo reale
  • Cpu03
  • 30 Mag 2020
  • WordPress
Risposte
12
Visite
4K
WordPress 30 Mag 2020
Alex_70
G
Modifica immagine di sfondo attraverso un bottone
  • Gianluca66
  • 22 Mag 2020
  • PHP
Risposte
18
Visite
3K
PHP 23 Mag 2020
Max 1
L
modifica dati.
  • luigi777
  • 21 Apr 2020
  • PHP
Risposte
1
Visite
2K
PHP 22 Apr 2020
macus_adi
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?