Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/10/2011, 08:24
carolina3
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 12 años, 9 meses
Puntos: 1
no se como llamarlo

muy buenas foreros, otra vez por aquí y es que es la mejor web para aprender.

el caso es que he creado una consulta pero tengo un problema que me tiene bloqueada, la sentencia funciona pero no como yo quiero :


Código PHP:
Ver original
  1. "SELECT * FROM productos WHERE tienda = 'mango'";


voy aexplicar un poco lo que estoy realizando ya que sin LA EXPLICACION RESULTA IMPOSIBLE ENTENDER LO QUE QUIERO REALIZAR.

he creado una web donde un usuario se registra crea su tienda y el problema viene cuando creo una pagina para cada usuario registrado con las fotos de sus productos, esta pagina lógicamente debe ser visible para cualquier usuario de la web, entonces con la sentencia de arriba todo perfecto a cada usuario se le crea su pagina con sus fotos pero claro que sucede que si esta pagina se crea automáticamente cuando se crea un usuario como puedo cambiar el TIENDA = 'MANGO' PARA QUE MANGO VARIE O SE CAMBIE AUTOMATICAMENTE CON EL NOMBRE DE CADA USUARIO REGISTRADO AL COPIAR YO ESTA ESTA PAGINA A CADA USUARIO REGISTRADO .

bueno ya se que lia un poco , podria sustituir el mango en este caso por alguna variable que le diera el valor que yo deseo, si es asi como de sustituye en este caso mango por esa variable, y que valor le puedo dar a esa variable .

hos pongo el codigo de esta pagina y la que crea el directorio de cada usuario con la pagina index que es de la que estoy hablando.


codigo:php
este codigo php me crea un directorio para cada usuario y me copia una plantilla llamada index que es la que necesito cambiar el valor del campo que explicaba antes , podria en este codigo decirle que index se copie con alguna variable dandole valor del nombre de la tienda

Código PHP:
Ver original
  1. <!--aqui inicializamos las sessiones para recuperar los campos tienda y email del formulario de la pag index-->
  2. <?php
  3.  
  4. $_SESSION['email']=$_POST['email'];
  5. $_SESSION['tienda']=$_POST['tienda'];
  6.  
  7. ?>
  8.  
  9. <!--aqui introducimos los datos del formulario de la pag index en la tabla tienda-->
  10. <?php
  11.  
  12. // Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
  13. if(isset($_POST['tienda']) && !empty($_POST['tienda']) &&
  14. isset($_POST['pasword']) && !empty($_POST['pasword']) &&
  15. isset($_POST['email']) && !empty($_POST['email']) &&
  16. isset($_POST['tipo_de_tienda']) && !empty($_POST['tipo_de_tienda'])) {
  17.    
  18.  
  19. // Si entramos es que todo se ha realizado correctamente
  20.  
  21. $link = mysql_connect("localhost","root","");
  22. mysql_select_db("blueberryswebtiendas",$link);
  23.  
  24. // Con esta sentencia SQL insertaremos los datos en la base de datos
  25. mysql_query("INSERT INTO tienda (tienda,pasword,email,tipo_de_tienda)
  26. VALUES ('{$_POST['tienda']}','{$_POST['pasword']}','{$_POST['email']}','{$_POST['tipo_de_tienda']}')",$link);
  27.  
  28. // Ahora comprobaremos que todo ha ido correctamente
  29. $my_error = mysql_error($link);
  30.  
  31. }
  32.  
  33. ?>
  34.  
  35. <?php
  36. // Establecer nuestra ruta de acceso absoluta para los directorios que se crean en:
  37. $path = $_SERVER['DOCUMENT_ROOT'] . '/blueberryswebtiendas/webtiendas/';
  38.  
  39. if (isset($_POST['btnform1'])) {
  40.     // Apúntese a nuestro formulario de datos
  41.     $dirName = isset($_POST['tienda'])?$_POST['tienda']:false;
  42.  
  43.     // Primero validar el valor:
  44.     if ($dirName !== false && preg_match('~([^A-Z0-9]+)~i', $dirName, $matches) === 0) {
  45.         // Tenemos un directorio válido:
  46.         if (!is_dir($path . $dirName)) {
  47.             // Somos buenos para crear este directorio:
  48.             if (mkdir($path . $dirName, 0777)) {       
  49.            
  50.             }
  51.                
  52.         }
  53.    
  54.         // Datos no válidos, htmlenttie les encajona <> se utilizaron.
  55.         $dirName = htmlentities($dirName);
  56.         $error = "Usted tiene valores no válidos en {$dirName}.";
  57.  
  58.  }
  59. }
  60.  
  61. //copia de los directorios de la plantilla al directorio del usuario
  62.  
  63.             $dirName = isset($_POST['tienda'])?$_POST['tienda']:false;
  64.             //copiando contenido de directorios
  65.             $origen = "../blueberryswebtiendas/webtiendas/plantilla/"; //pon la carpeta origen
  66.             //pon la variable $nombre o una carpeta destino que ya exista
  67.             $destino ="../blueberryswebtiendas/webtiendas/$dirName";
  68.            
  69.            
  70. ?>
  71. <?php
  72.  
  73. //copia de los directorios de la plantilla al directorio del usuario
  74.  
  75.             $dirName = isset($_POST['tienda'])?$_POST['tienda']:false;
  76.             //copiando contenido de directorios
  77.             $origen = "../blueberryswebtiendas/webtiendas/plantilla/"; //pon la carpeta origen
  78.             //pon la variable $nombre o una carpeta destino que ya exista
  79.             $destino ="../blueberryswebtiendas/webtiendas/$dirName";
  80. //empezamos funcion recursiva para copiar contenidos de directorios
  81. copy_dir($origen,$destino);
  82.  
  83.  
  84. function copy_dir($origen,$destino)
  85. {
  86.  
  87. if (isset($_POST['btnform1'])) {
  88.    if (is_dir($destino))
  89.       echo "El directorio destino ya existe.<br>";
  90.    else
  91.       mkdir("$destino");
  92.    if ($vcarga = opendir($origen))
  93.    {
  94.       echo "Directorio: $origen<br><br>";
  95.       echo "Fichero(s):<br><br>";
  96.       while($file = readdir($vcarga))
  97.       {
  98.          if ($file != "." && $file != "..")
  99.          {
  100.             if (is_dir($origen."/".$file))
  101.             {
  102.                copy_dir($origen."/".$file,$destino."/".$file);
  103.             }
  104.             else
  105.             {
  106.                if(copy($origen."/".$file, $destino."/".$file))
  107.                   echo "<b>$file</b> se copió con éxito al directorio $destino .<br>";
  108.             }
  109.          }
  110.       }
  111.       closedir($vcarga);
  112.    }
  113. }
  114. }
  115.  
  116.  
  117. ?>

pagina index de la plantilla que comentaba que se le crea a cada usuario registrado

Código PHP:
Ver original
  1. <?php require_once('../../Connections/blueberryswebtiendas.php'); ?>
  2. <!--aqui hemos creado el juego de registro y el repetir region de los productos-->
  3. <?php
  4.  
  5.  
  6. if (!function_exists("GetSQLValueString")) {
  7. function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
  8. {
  9.   if (PHP_VERSION < 6) {
  10.     $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  11.   }
  12.  
  13.   $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
  14.  
  15.   switch ($theType) {
  16.     case "text":
  17.       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  18.       break;    
  19.     case "long":
  20.     case "int":
  21.       $theValue = ($theValue != "") ? intval($theValue) : "NULL";
  22.       break;
  23.     case "double":
  24.       $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
  25.       break;
  26.     case "date":
  27.       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  28.       break;
  29.     case "defined":
  30.       $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
  31.       break;
  32.   }
  33.   return $theValue;
  34. }
  35. }
  36.  
  37. $maxRows_listadoproductos = 2;
  38. $pageNum_listadoproductos = 0;
  39.  
  40. if (isset($_GET['pageNum_listadoproductos'])) {
  41.   $pageNum_listadoproductos = $_GET['pageNum_listadoproductos'];
  42. }
  43. $startRow_listadoproductos = $pageNum_listadoproductos * $maxRows_listadoproductos;
  44.  
  45.  
  46. mysql_select_db($database_blueberryswebtiendas, $blueberryswebtiendas);
  47. $query_listadoproductos = "SELECT * FROM productos WHERE tienda = 'xanina'";
  48. $query_limit_listadoproductos = sprintf("%s LIMIT %d, %d", $query_listadoproductos, $startRow_listadoproductos, $maxRows_listadoproductos);
  49. $listadoproductos = mysql_query($query_limit_listadoproductos, $blueberryswebtiendas) or die(mysql_error());
  50. $row_listadoproductos = mysql_fetch_assoc($listadoproductos);
  51.  
  52. if (isset($_GET['totalRows_listadoproductos'])) {
  53.   $totalRows_listadoproductos = $_GET['totalRows_listadoproductos'];
  54. } else {
  55.   $all_listadoproductos = mysql_query($query_listadoproductos);
  56.   $totalRows_listadoproductos = mysql_num_rows($all_listadoproductos);
  57. }
  58. $totalPages_listadoproductos = ceil($totalRows_listadoproductos/$maxRows_listadoproductos)-1;
  59. ?>
  60.  
  61.  
  62.  
  63.  
  64.  
  65. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  66. <html xmlns="http://www.w3.org/1999/xhtml">
  67. <head>
  68. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  69. <title>Documento sin t&iacute;tulo</title>
  70. <link href="estiloplantilla.css" rel="stylesheet" type="text/css" />
  71. </head>
  72.  
  73. <body>
  74. <div id="contenedor">
  75.   <div id="cabecera">Colocar aquí el contenido para  id "cabecera"</div>
  76.  
  77. <div id="menu">Colocar aquí el contenido para  id "menu"</div>
  78. <div id="contenido">
  79.   <p>Productos de mi tienda:</p>
  80.  
  81.  <!--aqui del do hasta el while repetimos region para que se muestren los productos-->
  82.   <?php do { ?>
  83.     <table width="168" height="173" border="1" align="center">
  84.       <tr>
  85.         <td width="158" align="center"><a href="detalle_producto.php?producto_id=<?php echo $row_listadoproductos['producto_id']; ?>"><img src="productos/<?php echo $row_listadoproductos['foto_producto']; ?>" width="134" height="91" /></a></td>
  86.         </tr>
  87.       <tr>
  88.         <td height="23" align="center"><?php echo $row_listadoproductos['nombre_producto']; ?></td>
  89.         </tr>
  90.       <tr>
  91.         <td align="center"><?php echo $row_listadoproductos['precio_producto']; ?></td>
  92.         </tr>
  93.     </table>
  94.     <?php } while ($row_listadoproductos = mysql_fetch_assoc($listadoproductos)); ?>
  95. <p>&nbsp;</p>
  96.   <p>paginas</p>
  97.   <p>&nbsp;</p>
  98. </div>
  99. <div id="pie">Colocar aquí el contenido para  id "pie"</div>
  100. </div>
  101. </body>
  102. </html>
  103. <?php
  104. mysql_free_result($listadoproductos);
  105. ?>

Última edición por carolina3; 10/10/2011 a las 08:34