Ver Mensaje Individual
  #7 (permalink)  
Antiguo 01/10/2003, 13:19
RDC
 
Fecha de Ingreso: agosto-2003
Mensajes: 50
Antigüedad: 20 años, 7 meses
Puntos: 0
Amigos les cuento que he intentado todo lo que me han dicho ustedes y otra ente y nada. Aqui les mando el codigo completo para que le echen un vistazo. Los campos de la tabla se llaman:
Procesador y Sistema_Operativo
Aqui esta el archivo que me trae loco...


<?php require_once('file:///C|/apache/htdocs/udo1/Connections/conex_archivos.php'); ?>
<?php
mysql_select_db($database_conex_archivos, $conex_archivos);
?>
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="" content="text/html; charset=iso-8859-1">
<meta http-equiv="" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
/*Aqui empieza un codigo que permite
buscar el archivo que corresponde al computador
al cual el usuario quiere actualizar sus características.
$Nombre_Comp viene de un formulario*/
$txt=".txt";
$Nombre_Comp=$_POST['select_nombrecomp'];
/*aqui se establece el nombre del archivo en base
a las 2 instrucciones anteriores*/
$Nombre_Comp2=$Nombre_Comp.$txt;
//Este mensaje funciona bien
echo "$Nombre_Comp2<br>";
?>
<?php
/*recogemos en una variable lo que debe
aparecer en la linea a ser verificada. Dicha recoleccion se hara manipulando
un archivo*/
$so="Operating System";
$cpu="CPU Type";
$tarjetam="Motherboard Chipset";
$memoria_ram="System Memory";
/*tomamos el archivo de la carpeta a donde lo envia
el usuario-adm y lo copiamos en una carpeta con el finde darle
mejor resguardo al archivo de actualización*/
copy("c:\Boro\\$Nombre_Comp2", "c:\apache\htdocs\archivos_texto\\$Nombre_Comp 2") or die ("Error. No se pudo copiar el archivo.");
/*abrimos el archivo en formato de solo lectura*/
$archivo=fopen("c:\apache\htdocs\archivos_texto\\$ Nombre_Comp2","r") or die("Fallo el intento de abrir el archivo");
/*Si la apertura del archivo tuvo exito...*/
if ($archivo)
{
while (!feof($archivo))
{
$linea=fgets($archivo, 255);
/*almacenamos en una variable el número de caracteres
coincidentes entre la la linea del archivo que se esta recorriendo
y la variable que almacena lo que se esta buscando, en este caso el
"operating system"*/
$compara_so=similar_text($linea,$so);
/* ...en este caso el "CPU Type"*/
$compara_cpu=similar_text($linea, $cpu);
/* ...en este caso el "Motherboard Chipset"*/
$compara_tarjetam=similar_text($linea, $tarjetam);
/* ...en este caso el "System Memory"*/
$compara_memoriaram=similar_text($linea, $memoria_ram);


/*Si coinciden 16 caracteres es la linea que corresponde al Sistema Operativo...*/
if ($compara_so==16)
{
/*Aqui con la funcion explode partimos la linea
en 2 partes, separadas por la cadena de caracteres "System")*/
$dividir_linea=explode("System",$linea,2);
/*En la variable $sistema_operativo se almacena lo que se andaba buscando,
es decir el nombre del Sistema Operativo*/
$sistema_operativo=$dividir_linea[1];
/*Esta instrucción me permite darme cuenta que para este momento la variable
$sistema_operativo tiene el valor que me interesa, es decir el proceso anterior
esta funcionando..*/
echo $sistema_operativo;
}

/*Si coinciden 8 caracteres es la linea que corresponde al tipo de CPU...*/
if ($compara_cpu==8)
{
/*Aqui con la funcion explode partimos la linea
en 2 partes, separadas por la cadena de caracteres "Type")*/
$dividir_linea=explode("Type",$linea,2);
/*En la variable $tipo_cpu se almacena lo que se andaba buscando,
es decir el tipo de CPU que posee el equipo*/
$tipo_cpu=$dividir_linea[1];
echo $tipo_cpu;
}

/*Si coinciden 19 caracteres es la linea que corresponde al tipo de tarjeta madre...*/
if ($compara_tarjetam==19)
{
/*Aqui con la funcion explode partimos la linea
en 2 partes, separadas por la cadena de caracteres "Chipset")*/
$dividir_linea=explode("Chipset",$linea,2);
/*En la variable $tipo_tarjetam se almacena lo que se andaba buscando,
es decir el tipo de tarjeta madre que posee el equipo*/
$tipo_tarjetam=$dividir_linea[1];
echo $tipo_tarjetam;
}

/*Si coinciden 13 caracteres es la linea que corresponde a la memoria ram...*/
if ($compara_memoriaram==13)
{
/*Aqui con la funcion explode partimos la linea
en 2 partes, separadas por la cadena de caracteres "Memory")*/
$dividir_linea=explode("Memory",$linea,2);
/*En la variable $memoriaram se almacena lo que se andaba buscando,
es decir la cantidad de memoria ram que posee el equipo*/
$memoriaram=$dividir_linea[1];
echo $memoriaram;
}
//Aqui se esta imprimiendo, para su visualizacion, las lineas del archivo
echo "$linea<br>\n";
}
}
/*Con esta instruccion ratifico que $tipo_cpu aun tiene el valor que me interesa...*/
echo $tipo_cpu;
/*Pero al actualizar la tabla todas las variables, incluyendo
$tipo_cpu, se asumen con valor en blanco, y sustituyen
los valores que para ese registro se tengan en la tabla, por valores en blanco,
he aqui mi GRAN DUDA. Este query me lo recomendo un amigo y tampoco funciona...*/
/*$query_actualizacion=sprintf("UPDATE computadora SET Procesador='$tipo_cpu', Sistema_Operativo='$sistema_operativo' WHERE Nombre_Equipo='$Nombre_Comp'");
$query2=mysql_query($query_actualizacion, $conex_archivos);
if ($query2<0)
{
echo"Error en la actualización";
exit();
}
else
{
echo "Actualización Exitosa";
exit();
}
*/

//Convierto mi manera comentario y empleo la tuya...y tampoco funciona
$sql = "UPDATE computadora SET Procesador='".$tipo_cpu."',
Sistema_Operativo='".$sistema_operativo."' WHERE
Nombre_Equipo='".$Nombre_Comp."'";
$resultado=mysql_query($sql, $conex_archivos);
$items = mysql_affected_rows($conex_archivos);
echo "el numero de registros afektados kon la aktualizacion fue: ".$items;

/*Se cierra el archivo*/
fclose($archivo);
?>
</body>
</html>