Foros del Web » Programando para Internet » PHP »

succesiones y quitar una coma

Estas en el tema de succesiones y quitar una coma en el foro de PHP en Foros del Web. Tengo el siguiente codigo: Código: <? $inicio=$_COOKIE['columna']; $fin=$col_final; $lista=range($inicio,$fin); foreach ($lista as $valor){ $cadires_compr = $_COOKIE['fila'].$valor.' =2, '; } ?> que me muestra esto "C2=2, ...
  #1 (permalink)  
Antiguo 11/07/2004, 13:08
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 14 años
Puntos: 4
succesiones y quitar una coma

Tengo el siguiente codigo:
Código:
<? $inicio=$_COOKIE['columna']; 
$fin=$col_final; 
$lista=range($inicio,$fin); 
foreach ($lista as $valor){ 
$cadires_compr = $_COOKIE['fila'].$valor.' =2, '; 
}
?>
que me muestra esto "C2=2, C3=2, C4=2, " como puedo hacer para quitar esta última coma?

Gracias por adelantado
  #2 (permalink)  
Antiguo 11/07/2004, 16:18
 
Fecha de Ingreso: febrero-2004
Ubicación: Resistencia - Argentina
Mensajes: 299
Antigüedad: 13 años, 9 meses
Puntos: 0
este codigo quita la ultima coma de la cadena:
<? $cad="C2=2, C3=2, C4=2,";
echo $cad,"<br>";
$dir = substr($cad,0,strlen($cad)-1);
echo $dir;
?>
  #3 (permalink)  
Antiguo 11/07/2004, 16:54
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 14 años
Puntos: 4
sigue sin funcionarme, ten pogo todo el codigo haver si alguien sabe localizar el problema:
Código:
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento sin t&iacute;tulo</title>
</head>
<?
$col_final = $HTTP_GET_VARS["col_final"]
?>
<body> <? $inicio=$_COOKIE['columna']; 
$fin=$col_final; 
$lista=range($inicio,$fin); 
foreach ($lista as $valor){ 
$cadires_compr = $_COOKIE['fila'].$valor.' =2, '; 
}
?>
<? 
echo $cadires_compr;
$cad_dir = substr($cadires_compr,0,strlen($cadires_compr)-1);
echo $cad_dir;
?>
<?php require_once('Connections/teatredelmar.php'); ?>
<?php
$actuacion = $_COOKIE['ID'];
mysql_select_db($database_teatredelmar, $teatredelmar);
$query_actuacio = "UPDATE ocupacioestat SET $cad_dir WHERE ID = $actuacion"; 
mysql_query($query_actuacio, $teatredelmar) or die(mysql_error());
?>
</body>
</html>
y me da este error:
B1 =2, B1 =2,You have an error in your SQL syntax near 'WHERE ID = 10' at line 1
  #4 (permalink)  
Antiguo 11/07/2004, 19:40
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Eso no es de lo que preguntas

Ese error no es sobre lo que preguntastes anteriormente. Eso es algo que tienes o estas tratando de hacer con la consulta $query_actuacio. Revisa que todos los parámetros sean correctos o con calma ve viendo poco a poco donde esta el error.

Salu2
__________________
Ing. Reynier Pérez Mira
  #5 (permalink)  
Antiguo 12/07/2004, 03:04
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 14 años
Puntos: 4
Ok he solucionado el problema pero me sigue mostrando las ultimas comas.... tengo este codigo:
Código:
<? $inicio=$_COOKIE['columna']; 
$fin=$col_final; 
$lista=range($inicio,$fin); 
foreach ($lista as $valor){ 
   echo $_COOKIE['fila'].$valor.' =2, '; 
}
?>
<? 
$cad_dir = substr($cadires_compr,0,strlen($cadires_compr)-2);
echo $cad_dir
?>
  #6 (permalink)  
Antiguo 12/07/2004, 03:20
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
En vez de usar un foreach hazlo así
Código PHP:
 $inicio=$_COOKIE['columna']; 
$fin=$col_final
$lista=range($inicio,$fin);
$numElements=count ($lista);
for (
$i=0;$i<$numElements;$i++){ 
if (
$i==$numElements-1){
        
$cadires_compr $_COOKIE['fila'].$lista[$i].' =2 '
}else{
        
$cadires_compr $_COOKIE['fila'].$lista[$i].' =2, '

}

__________________
¿Te apasiona el mundo del guión? El portal del guión
  #7 (permalink)  
Antiguo 12/07/2004, 06:50
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 14 años
Puntos: 4
Si lo hago de esta forma me muestra solo el ultimo registro, por ejemplo si tengo: C5, C6, C7, C8, C9

cuando hago un "echo" solo me muestra C9=2
  #8 (permalink)  
Antiguo 12/07/2004, 06:52
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
if ($i==$numElements-1){
$cadires_compr .= $_COOKIE['fila'].$lista[$i].' =2 ';
}else{
$cadires_compr .= $_COOKIE['fila'].$lista[$i].' =2, ';

}

faltaba el . delante del = , A ver si ahora te funciona
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #9 (permalink)  
Antiguo 12/07/2004, 07:47
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 14 años
Puntos: 4
ok si, me funiona muchisimas gracias, pero me gustaria saber este punto que faltava que funcion realiza, y si tienes tiempo me podrias explicar como lo has echo?
  #10 (permalink)  
Antiguo 12/07/2004, 07:55
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
El punto lo que hace es añadir a los datos que ya tenías en $cadires_compr el nuevo valor que le estás dando . Sería lo mismo que
$cadires_compr =$cadires_compr.$_COOKIE['fila'].$lista[$i].' =2, ';

Bueno, ahora viene la explicación:
Código PHP:
$numElements=count ($lista); //sacamos el numero de elementos que tenemos en el array lista
for ($i=0;$i<$numElements;$i++){ //recorremos todos los elementos
if ($i==$numElements-1){ //si es el último elemento del array no ponemos coma al final
        
$cadires_compr $_COOKIE['fila'].$lista[$i].' =2 '
}else{ 
        
$cadires_compr $_COOKIE['fila'].$lista[$i].' =2, '//si no es el último si se añade la coma


__________________
¿Te apasiona el mundo del guión? El portal del guión
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:00.