elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: [1]
1  Programación / PHP / Re: Update de varios campos con un array en: 22 Mayo 2012, 15:56 pm
Bueno pues para no perder la comba lo he arreglado yo, un array para cada campo en el formulario y punto.
2  Programación / PHP / Update de varios campos con un array en: 22 Mayo 2012, 13:16 pm
Buenas a todos, ya se que a priori parece que mi problema es de BBDD pero no.
Tengo un formulario el cual se crea dinamicamente con un bucle while, para mostrar los datos de un mismo articulo almacenados en la BBDD. Almaceno todos los valoers de los input en una array, tal que asi:

Código:
<?php
while($resul_hiscalib=mysql_fetch_array($consu_hiscalib)){ ?>

<tr align="center">
<td>
<input size="8%" type="text" name="calib_his[]" value="<?php echo $resul_hiscalib[17]; ?>" />
</td>
<td>
<input style="text-align: center;" size="8%" type="text" name="calib_his[]" value="<?php echo strftime("%d-%m-%Y",strtotime($resul_hiscalib[2])); ?>" />
</td>
<td>
<input style="text-align: center;" size="25%" type="text" name="calib_his[]" value="<?php echo $resul_hiscalib[3]; ?>" />
</td>
<td>
<input style="text-align: center;" size="6%" type="text" name="calib_his[]" value="<?php echo $resul_hiscalib[16]; ?>" />
</td>
<td>
<input style="text-align: center;" size="8%" type="text" name="calib_his[]" value="<?php echo strftime("%d-%m-%Y",strtotime($resul_hiscalib[7])); ?>" />
</td>

Y continua...

El caso es que en mi array se almacenan todos los datos...no differencia por linea ni nada paraa que en el update de la otra pagina yo pueda poner los campos y se vayan ejecutando.

aqui dejo la sentencia SQL de la otra pagina:

Código:
if($query=mysqli_prepare($link,"UPDATE HISCALIBRACION SET Fecha=?,Actuacion=?,InfExterno=?,Tecnico=?,Labexterno=?,`Proxima actuacion`=?,Coste=?,Dedicacion=?,Duracion=?,Incertidumbre=?,K=?,Imax=?,Tmin=?,Estado=?,`Num Informe`=? where Referencia=? and Serie=?;"))
{
foreach($_REQUEST['calib_his'] as $item){
if($_REQUEST['calib_his']!=""){
echo $_REQUEST['calib_his']."<br />";
/*mysqli_stmt_bind_param($query, "sssssssssssisssssi",$item,$referencia,$_REQUEST['datos_tec_old'][$posicion]
);
mysqli_execute($query);

if (mysqli_stmt_affected_rows($query)==-1) { $error_repetido=true; };

//printf("%d Row inserted.\n", mysqli_stmt_affected_rows($query));
//printf("%d \n",$posicion);


} else {
$error_hay_blanco=true;
}*/

$_REQUEST['calib_his']="";
}
}}}
die();

Como ven he estado realizando muchas pruebas y demas para conseguir sacar algo. Inutil, lo unico que consigo es mostrar todos los campos seguidos, algo que me es completamente inutil ya que los quiero uno a uno para poder realizar el update.

Alguna idea? A ver si no lo tengo que solucionar yo como siempre me pasa xD
3  Programación / Bases de Datos / Re: Problema Mysqli_prepare en: 14 Mayo 2012, 14:52 pm
Y como ya me estoy acostumbrando a ha cer, he resuelto yo mismo el problema xD

Algun campo de la query estaba mal especificado, los he puesto uno a uno y ha funcionado.
4  Programación / Bases de Datos / Problema Mysqli_prepare en: 14 Mayo 2012, 12:30 pm
Buenas tengo un problemilla. Ejecuto el siguiente codigo:

Código:
<?php
$link = mysqli_connect('172.31.20.39', 'phpmyadmin', 'clave', 'equipos');

if (!$link) {
    die('Error de conexión (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

if($stmt = mysqli_prepare($link,"UPDATE EQUIPOS set Nombre=?, Referencia=?, Marca=?, Modelo=?,`Num de serie`=?, lampara=?, `idsuministradora`=?, `Contacto suministrador`=?, idserviciotecnico=?,`Contacto servicio tecnico`=?, idubicacionequipo=?, idubicacionmanualuso, Precio=?, `Fecha de recepcion`=?, `Fecha de puesta en servicio`=?, Estado=?, `Bloqueo Rble Unidad`=?, AcreditacionE=?, AcreditacionP=?, Potencia=?, `idubicacionmanualmantenimiento`=?, marcado_ce=?, accesorio_fungible_mobiliario=?, Laboratorio=? where id=?;")){
mysqli_stmt_bind_param($stmt, "sssssiisisiiisssiiisissi",
$_REQUEST['nombrequipo'],$_REQUEST['codigo'],$_REQUEST['marca'],$_REQUEST['modelo'],$_REQUEST['num_serie'],$_REQUEST['lampara'],$_REQUEST['suministrador'],$_REQUEST['contacto_suminis'],$_REQUEST['stecnico'],$_REQUEST['contacto_st'],$_REQUEST['ubicacion_equipo'],$_REQUEST['ubicacion_manual_uso'],$_REQUEST['precio_compra'],$_REQUEST['recepcion'],$_REQUEST['puesta_servicio'],$_REQUEST['estado_compra'],$_REQUEST['vbueno'],$_REQUEST['acredit_ensayo'],$_REQUEST['acredit_patron'],$_REQUEST['potencia'],$_REQUEST['ubicacion_manual_mante'],$_REQUEST['marcado_ce'],$_REQUEST['accesorio'], $_REQUEST['nombrelab'], $_REQUEST['modificar']
);
die($stmt);
mysqli_execute($stmt);
echo "Actualizacion correcta.";
}else{
"No se ha podido realizar la actualizacion";
}
mysqli_close($link);
?>

Y no hace nada de nada. Ni entra en el DIE que hay detras de la definicion de los valores. La pagina se carga totalmente en blanco.

Alguna idea? creo que estoy haciendo mal el  mysqli_prepare, me falta algo?

Un saludo y gracias de antemano!
5  Programación / Desarrollo Web / Re: Problema con while PHP y MySQL en: 10 Mayo 2012, 12:36 pm
Solucionado! Bucle for y condicionales.

Adjunto el codigo pro si a alguien le viene bien.
Código:
<?php
$datos= explode(",",$_REQUEST['cadena']);
$cuenta_datos=count ($datos);
$campos= array(
0 => "Nombre",
1 => "Referencia",
2 => "Marca",
3 => "Modelo",
4 => "Num de serie",

);
//echo $datos[0];
//echo $campos[0];
$cuenta_campos= count($campos);

$query = "select * from equipos where";

for($i=0; $i<$cuenta_campos; $i++){
for ($i2=0;$i2<$cuenta_datos;$i2++){



$query = $query." [".$campos[$i]."] like '%".$datos[$i2]."%'";

if  ( !($i==$cuenta_campos-1 and $i2==$cuenta_datos-1) ) {

$query = $query." or";
};

};

}

echo $query;

?>
6  Programación / Desarrollo Web / Problema con while PHP y MySQL en: 10 Mayo 2012, 10:59 am
Buenas a todos, en mi primer post y ya preguntado...empiezo bien... xD

El caso es que estoy programando un buscador con php y mysql y me gustaria que me ayudaseis un poco por favor.

Adjunto el codigo:
Código:
<?php
$datos= explode(",",$_REQUEST['cadena']);
$cuenta=count ($datos);



//Conexion a la BD
$conexion=mysql_connect("172.31.20.39","phpmyadmin","clave") or
 die("Problemas en la conexion");
mysql_select_db("equipos",$conexion) or
 die("Problemas en la selección de la base de datos");
$i=0;

$bucle = while ($i!=$cuenta){
ECHO " OR Nombre LIKE %";
echo $datos[$i];
ECHO "%";
$i++;}
echo $bucle;
//$SQL="select * from EQUIPOS where Nombre like foo".while ($i!=$cuenta){
//ECHO " OR Nombre LIKE %";
//echo $datos[$i];
//ECHO "%";
//$i++;}.")";
//ECHO $SQL;
$consueq=mysql_query("select * from EQUIPOS where Nombre in('".implode(',', $datos)."')",$conexion) or
 die("Problemas en el select:".mysql_error());
$reg=mysql_fetch_array($consueq);
print_r ($reg[0]);
?>

Lo que me esta fallando es el while dentro de una variable, estoy empezando a pensar que no funciona, ya que fuera de la variable funciona perfectamente. Lo que quiero es que la query realice un rastreo en la tabla de valores que se aproximen a los introducidos.
Por lo de aproximacion no puedo usar un IN en el apartado where y necesito un bucle que recorra todos los valores del array para usar el LIKE.

Alguien puede ayudarme?...estoy bastante atascado.

Gracias de antemano!

EDITO: Lo siento acabo de ver el foro de PHP  :-\
Si alguien puede moverlo...error de novato !
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines