← Desenvolvimento

Problema Mysql

Lida 1164 vezes

Offline

CDAfonso 
Membro
Mensagens 114 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Boa tarde... ando aqui ha já varios dias a tentar meter um código a funcionar mas nao consegui :(

Código: [Seleccione]
switch ($area) {
            case "dautomoveis":

            mysql_query("REPLACE INTO areas VALUES (1, 'dautomoveis', '$texto', '$fich')") or die ("De momento não é possivel actualizar...");
            case "dassistencia":

            mysql_query("REPLACE INTO areas VALUES (2, 'dassistencia', '$texto', '$fich')") or die ("De momento não é possivel actualizar...");
            case "acessorios":

            mysql_query("REPLACE INTO areas VALUES (3, 'acessorios', '$texto', '$fich')") or die ("De momento não é possivel actualizar...");
            case "outros":

            mysql_query("REPLACE INTO areas VALUES (4, 'outros', '$texto', '$$fich')") or die ("De momento não é possivel actualizar...");
            case "usados":

            mysql_query("REPLACE INTO VALUES (5, 'usados', '$texto', '$fich')") or die ("De momento não é possivel actualizar...");
            case "novos":

            mysql_query("REPLACE INTO areas VALUES (6, 'novos', '$texto', '$fich')") or die ("De momento não é possivel actualizar...");
            case "dempresa":

            mysql_query("REPLACE INTO areas VALUES (7, 'dempresa', '$texto', '$fich')") or die ("De momento não é possivel actualizar...");
            break;

          }


A estrutura da DB tem as seguintes colunas: id,area,texto,foto
A ideia é haver uma linha para cada area diferente (são 7), e o objectivo é alterar os valores da linha que lhe corresponde dependendo do valor que a variavel area possui. Por exemplo, se a variavel for "dempresa" queria que fosse alterada a 7ª linha e deixar as outras intactas..
Com este código que escrevi ela altera várias ao mesmo tempo :(

Alguem consegue ajudar??

Cumprimentos,
Cláudio Afonso
Offline

=IceBurn= 
Membro
Mensagens 897 Gostos 3
Feedback +3

Troféus totais: 32
Trófeus: (Ver todos)
Windows User Level 6 Linux User Mobile User Super Combination Combination Topic Starter Poll Voter Poll Starter Level 5

No fim de cada operação tens de utilizar  break; porque se não meteres break; o php continua a percorrer as várias áreas.

Código: [Seleccione]
<?php

switch &#40;$area&#41; &#123; 
 
 
case "dautomoveis"&#58; 
  
mysql_query&#40;"REPLACE INTO areas VALUES &#40;1, 'dautomoveis', '$texto', '$fich'&#41;"&#41; or die &#40;"De momento não é possivel actualizar..."&#41;; 
 
break;          

 case 
"dassistencia"&#58; 
  
mysql_query&#40;"REPLACE INTO areas VALUES &#40;2, 'dassistencia', '$texto', '$fich'&#41;"&#41; or die &#40;"De momento não é possivel actualizar..."&#41;; 
 
break;
 
 case 
"acessorios"&#58; 
  
mysql_query&#40;"REPLACE INTO areas VALUES &#40;3, 'acessorios', '$texto', '$fich'&#41;"&#41; or die &#40;"De momento não é possivel actualizar..."&#41;; 
 
break;
            
 case 
"outros"&#58; 
  
mysql_query&#40;"REPLACE INTO areas VALUES &#40;4, 'outros', '$texto', '$fich'&#41;"&#41; or die &#40;"De momento não é possivel actualizar..."&#41;; 
 
break;          

 case 
"usados"&#58; 
  
mysql_query&#40;"REPLACE INTO VALUES &#40;5, 'usados', '$texto', '$fich'&#41;"&#41; or die &#40;"De momento não é possivel actualizar..."&#41;; 
 
break;
 
 case 
"novos"&#58; 
  
mysql_query&#40;"REPLACE INTO areas VALUES &#40;6, 'novos', '$texto', '$fich'&#41;"&#41; or die &#40;"De momento não é possivel actualizar..."&#41;; 
 
break;         

 case 
"dempresa"&#58; 
  
mysql_query&#40;"REPLACE INTO areas VALUES &#40;7, 'dempresa', '$texto', '$fich'&#41;"&#41; or die &#40;"De momento não é possivel actualizar..."&#41;; 
 
break; 

&
#125;

?>


E atenção que no valor 'outros' tinhas $$fich em vez de $fich

E já agora, permite-me a pergunta, porque é que não usas INSERT em vez de REPLACE?