Foro oficial de PHP

hola a todos, estoy haciendo un proyecto en php y pues me toco diseñar una base de datos, algo robusta, y hacerle las normalizadas y todo el cuento. para que fuera escalable, bueno la aplicación la desarrolle con php, pero mi problema es cuanto cobro por la base de datos,

se que esto no hace referencia al tema del grupo, pero si les ha pasado lo mismo cuanto han cobrado por diseñar toda la base de datos.
 
figux dijo:
Hola tengo una base de datos relacional donde un instructor maneja uno o varios grupos los grupos a su vez estan conformados por empresas y las empresas tienen integrantes, entonces las relacion va intructor->grupo->empresa->integrantes.

Entonces el problema es que quiero borrar un intructor para esto necesito validar que no tengas grupos en tal caso dar la opcion de mover o borrar los grupos, entonces por emdio de una consulta SQL (Uso PHp y MySQL) puedo ver todos los grupos del instructor,lo que quiero hacer es mostrarlos en una tabla mediante checkbox para elegir cuales borrar o mover he hay el problema no se como llegan los datos del formulario.

Creo que lo de la base de datos quedo claro, seamos mas especificos:

Tengo una pagina para borrar instructor esta me valida si el intructor tien grupos si tienen grupos lo que quiero hacer es una consulta:

"SELECT * FROM GRUPO WHERE IdInstructor = ID"

Listo con una funcion en php devuelvo el resultado de la consulta en un arreglo y mediante un FOR lo imprimo en una pagina pero lo quiero colocar en forma de checkbox para que el user escoja que grupos desea borrar; problemas:

1) Como hago los nombre de los checkbox unicos??
<input type="checkbox" name=???> ademas debo pasar el Id del grupo

2) Como recojo los datos del formulario en la otra pagina???

Basicamente son preguntas de Html pero no se como se hace.
 
para los nombres:
PHP:
<input type="checkbox" name="<?php echo $nombre ?>" value="<?php echo $valor ?>">
<?php ?>
para poder asiganr el nombre a los checkbox use todos los id que estan en las bases de datos y luego envia el formulario a la siguiente pagina.
para recoger los datos puede utilizar un while haciendo de nuevo la consulta en la base de datos y recojer en un array todos los checkbox que traigan datos con un if (isset($_POST[$nombre]) donde $nombre corresponde al nombre del checkbox que es igual al nombre en la base de datos, asi sin importar el numero de items los podra ingresar sin problemas, la funcion para ingresar dato por dato a un array es: $array=push_array($array,$dato); lo que hace es que trta al array como una pila y agraga el dato en el ultimo lugar, y asi obtiene todos los nombre que fueron escojidos, esta explicacion es para que tenga una idea de como lo puede hacer, por falta de tiempo no puedo darle un ejemplo con codigo , si esto no lo ayuda lo manifiesta y me pongo en la tarea de escribirle el codigo ya sea por este medio o mp, como guste, espero le haya podido ayudar!!
 
Haber si entendi:
Como name coloco los nombres que tienen en la BD que tambien son unico dado qeu lo que quiero enviar es la ID esta la colocaria en los value, luego hago la consulta de todos los grupos y mediante un while voy comparando nombres para recoger los IDs que se me envian de los checkbox y los voy guardando en un arreglo, es asi??

otra pregunta cual es la diferencia entre:
PHP:
 $array=push_array($array,$dato);
y un ciclo:

PHP:
$array[$i]=$X
Es la sintaxis??
 
los dos hacen lo mismo pero cuando uno no puede determinar cual es la posicion final del array entonces debe usar el push_array,la segunda forma solo sirve con un array sin registros pues enel ciclo siempre se sabe que la varialbe $i corresponde al ultimo lugar
 
Hola laneros necesito una ayuda con lo siguiente...tengo dos listas en php... estoy tratando de hacer un evento con el cual al seleccionar una de estas opciones de una lista me traiga de la base de datos esta informacion pero en otra lista ejm cuando seleccione codigo de la primera lista me traiga todos los codigos de la base de datos pero cargados en otra lista... anexo mi primera lista
<select name="select1" >
<option value="Codigo">Codigo</option>
<option value="Asesor">Asesor</option>
<option value="Director">Director</option>
<option value="Regional">Regional</option>
<option value="Producto">Producto</option>
<option value="Periodo">Periodo</option>
</select>
Estoy tratando de utilizar un script con el evento OnClick pero nose la sintaxis y si se puede utilizar ???
Muchas gracias :) :)
 
gicler dijo:
estoy trabajando en php con uso de una base de datos en MySQL pero no me conecta
todo antes de la linea de codigo: $link=mysql_connect("host","user","password"), corre pero despues nada y no se que sera ya rebice el php. ini el config del apache y no se que mas hacer voy a tener que desinstalar el mysql para ver.


si me pueden dar un tip les agradeceria

revisa primero si te esta funcionando el mysql con php.
Para revisarlo hace lo siguiente:

PHP:
<?php
echo phpinfo();
?>

en la pagina que sale, revisa si se encuentra una seccion de mysql con descripciones, si estas no aparecen es por que no te esta funcionando y entoces toca revisar la instalacion o activacion de mysql en php.
 
tuto_28 dijo:
Hola laneros necesito una ayuda con lo siguiente...tengo dos listas en php... estoy tratando de hacer un evento con el cual al seleccionar una de estas opciones de una lista me traiga de la base de datos esta informacion pero en otra lista ejm cuando seleccione codigo de la primera lista me traiga todos los codigos de la base de datos pero cargados en otra lista... anexo mi primera lista
<select name="select1" >
<option value="Codigo">Codigo</option>
<option value="Asesor">Asesor</option>
<option value="Director">Director</option>
<option value="Regional">Regional</option>
<option value="Producto">Producto</option>
<option value="Periodo">Periodo</option>
</select>
Muchas gracias :) :)

este tema ya se trato anteriormete, por favor usa el boton buscar que estoy seguro que lo encontraras.
 
tuto_28 dijo:
Hola laneros necesito una ayuda con lo siguiente...tengo dos listas en php... estoy tratando de hacer un evento con el cual al seleccionar una de estas opciones de una lista me traiga de la base de datos esta informacion pero en otra lista ejm cuando seleccione codigo de la primera lista me traiga todos los codigos de la base de datos pero cargados en otra lista... anexo mi primera lista
<select name="select1" >
<option value="Codigo">Codigo</option>
<option value="Asesor">Asesor</option>
<option value="Director">Director</option>
<option value="Regional">Regional</option>
<option value="Producto">Producto</option>
<option value="Periodo">Periodo</option>
</select>
Estoy tratando de utilizar un script con el evento OnClick pero nose la sintaxis
Muchas gracias :) :)


Viejo que tal estas en AJAX?
 
tuto_28 dijo:
Hola laneros necesito una ayuda con lo siguiente...tengo dos listas en php... estoy tratando de hacer un evento con el cual al seleccionar una de estas opciones de una lista me traiga de la base de datos esta informacion pero en otra lista ejm cuando seleccione codigo de la primera lista me traiga todos los codigos de la base de datos pero cargados en otra lista... anexo mi primera lista
<select name="select1" >
<option value="Codigo">Codigo</option>
<option value="Asesor">Asesor</option>
<option value="Director">Director</option>
<option value="Regional">Regional</option>
<option value="Producto">Producto</option>
<option value="Periodo">Periodo</option>
</select>
Estoy tratando de utilizar un script con el evento OnClick pero nose la sintaxis y si se puede utilizar ???
Muchas gracias :) :)

con el onchange tambien te sirve...

Yeison dijo:
Viejo que tal estas en AJAX?
mandas huevo.. quieres volver loco al Tuto... ?
 
Ja ja :)
No yeison, lo que pasa es que a estas alturas AJAX ha cogido mucho vuelo y si uno quiere aprender algo, deberia comenzar por ahi, lo dificil primero.
Pero no, lo que pasa es que con los atributos onBlur y onChange debes tener la informacion en el script, y no podes consultar la base de datos.
Pero si lo quiere rapido claro busca los atributos, aqui te pongo un tutorial de solo los atributos.
Sacado de "http://www.desarrolloweb.com/articulos/1281.php"
PHP:
Cómo hacer con Javascript que un elemento de formulario select cambie sus opciones cuando cambie otro elemento select de la página. De modo que cada opción de un select tenga un grupo de opciones posibles para el otro select.


Vamos a conocer uno de los trucos más solicitados de Javascript, que tiene mucha relación con el tema de formularios y donde se utiliza el evento onchange de Javascript. Es un ejemplo sobre cómo realizar una página con un par de selects donde, según el valor escogido en uno de ellos, cambien las opciones posibles del otro select.

Lo mejor para ver lo que vamos a hacer es ver una página web donde se muestra en funcionamiento el script. Para ver su funcionamiento debemos cambiar la selección del primer select y comprobaremos como las opciones del segundo select cambian automáticamente.

El ejemplo que hemos ilustrado utiliza provincias y países. Al escoger en el primer select un país, en el segundo debe mostrarnos las provincias de ese país para que escojamos una provincia, pero sólo una que tenga que esté en el país seleccionado en primer término.

Conocer el objeto select y los option

Es importante conocer los objetos de formulario select y los option. Los select corresponden con las cajas de selección desplegables y los option con cada una de las opciones de la caja desplegable. Podemos ver un artículo que habla de ello.

En concreto nos interesa hacer varias cosas que tienen que ver con extraer el valor de un select en cualquier momento, fijar su número de opciones y, para cada opción, colocar su valor y su texto asociado. Todo esto aprenderemos a hacerlo en este ejemplo.

Referencia: Para conocer el trabajo con formularios y la jerarquía de objetos javascript (Todo eso es la base del trabajo con los elementos de las páginas en Javascript) debemos haber leer el manual de Javascript II.

Modo de llevar a cabo el problema

Para empezar, vamos a utilizar un formulario con dos selects, uno para el país y otro para la provincia.

<form name="f1">
<select name=pais onchange="cambia_provincia()">
<option value="0" selected>Seleccione...
<option value="1">España
<option value="2">Argentina
<option value="3">Colombia
<option value="4">Francia
</select>

<select name=provincia>
<option value="-">-
</select>
</form>

Nos fijamos en el select asociado al país de este formulario que, cuando se cambia la opción de país, se debe llamar a la función cambia_provincia(). Veremos más adelante esta función, ahora es importante fijarse que está asociada al evento onchange que se activa cuando cambia la opción en el select.

Todo lo demás será código Javascript. Empezamos definiendo un montón de arrays con las provincias de cada país. En este caso tenemos sólo 4 países, entonces necesitaré 4 arrays. En cada array tengo la lista de provincias de cada país, colocada en cada uno de los elementos del array. Además, dejaré una primera casilla con un valor "-" que indica que no se ha seleccionado ninguna provincia.

var provincias_1=new Array("-","Andalucía","Asturias","Baleares","Canarias","Castilla y León","Castilla-La Mancha","...")
var provincias_2=new Array("-","Salta","San Juan","San Luis","La Rioja","La Pampa","...")
var provincias_3=new Array("-","Cali","Santamarta","Medellin","Cartagena","...")
var provincias_4=new Array("-","Aisne","Creuse","Dordogne","Essonne","Gironde ","...")

Hay que fijarse que los índices del array de cada país se corresponden con los del select del país. Por ejemplo, la opción España, tiene el valor asociado 1 y el array con las provincias de España se llama provincias_1.

El script se completa con una función que realiza la carga de las provincias en el segundo select. El mecanismo realiza básicamente estas acciones:

    * Detecto el país que se ha seleccionado
    * Si el valor del país no es 0 (el valor 0 es cuando no se ha seleccionado país)
          o Tomo el array de provincias adecuado, utilizando el índice del país.
          o Marco el número de opciones que debe tener el select de provincias
          o Para cada opcion del select, coloco su valor y texto asociado, que se hace corresponder con lo indicado en el array de provincias. 
    * SI NO (El valor de país es 0, no se ha seleccionado país)
          o Coloco en el select de provincia un único option con el valor "-", que significaba que no había provincia. 
    * Coloco la opción primera del select de provincia como la seleccionada. 

La función tiene el siguiente código. Está comentado para que se pueda entender mejor.

function cambia_provincia(){
    //tomo el valor del select del pais elegido
    var pais
    pais = document.f1.pais[document.f1.pais.selectedIndex].value
    //miro a ver si el pais está definido
    if (pais != 0) {
       //si estaba definido, entonces coloco las opciones de la provincia correspondiente.
       //selecciono el array de provincia adecuado
       mis_provincias=eval("provincias_" + pais)
       //calculo el numero de provincias
       num_provincias = mis_provincias.length
       //marco el número de provincias en el select
       document.f1.provincia.length = num_provincias
       //para cada provincia del array, la introduzco en el select
       for(i=0;i<num_provincias;i++){
          document.f1.provincia.options[i].value=mis_provincias[i]
          document.f1.provincia.options[i].text=mis_provincias[i]
       }
    }else{
       //si no había provincia seleccionada, elimino las provincias del select
       document.f1.provincia.length = 1
       //coloco un guión en la única opción que he dejado
       document.f1.provincia.options[0].value = "-"
       document.f1.provincia.options[0].text = "-"
    }
    //marco como seleccionada la opción primera de provincia
    document.f1.provincia.options[0].selected = true
}

Podemos ver una página con el ejemplo en funcionamiento.
 
Buenas tardes laneros lo estoy haciendo de la siguiente manera pero no me esta trayendo ningun dato que sera??

PHP:
<select name="select2">
    <?php
do {  
?>
    <option value="<?php echo $row_Recordset2['supervisor']?>"><?php echo $row_Recordset2['supervisor']?></option>
    <?php
} while ($row_Recordset2 = mysql_fetch_assoc($Recordset2));
  $rows = mysql_num_rows($Recordset2);
  if($rows > 0) {
      mysql_data_seek($Recordset2, 0);
   $row_Recordset2 = mysql_fetch_assoc($Recordset2);
  }
?>
  </select>
  <select name="select3">
    <?php
do {  
?>
    <option value="<?php echo $mostrar[nombre_asesor]?>"><?php echo $mostrar[nombre_asesor]?></option>
    <?php
$v = $_POST['select2'];
$link = mysql_connect($db_host,$db_username,$db_password); 
$qry = mysql_query("select distinct (nombre_asesor) from nomina where '".$v."' = supervisor " ,$link);
}while ($mostrar = mysql_fetch_array($qry));
 
//} while ($row_Recordset2 = mysql_fetch_assoc($Recordset2));
  $rows = mysql_num_rows($qry);
  if($rows > 0) {
      mysql_data_seek($qry, 0);
   $mostrar = mysql_fetch_assoc($qry);
  }
?>
  </select>
 
para el formulario use esta funcion:

PHP:
function view_del_($id){
$grupoHandler = new GrupoDao();
$grupos = $grupoHandler->mostrar_nombre($id);
print "<form name='formulario' action='server_delete_grupo.php' method='post' target='blank'>";
for ($i=0; $i < count ($grupos); $i++) {
    $temp = $grupos[$i];
    print "<tr>\n";
    print "<td align=\"center\"><INPUT TYPE='checkbox' NAME=".$temp->getNomGrupo()." VALUE=".$temp->getIdGrupo()."></td>\n";
    print "<td align=\"center\">".$temp->getNomGrupo()."</td>\n";
    print "</tr>";
}
print "<input type='submit'>";            
print "</form>";

}

recogo los datos asi:
PHP:
//Recolectar Datos POST
$num = count ($_POST);
$valores = array_values($_POST); //valores del $_POST enviado por checkbox

for($i = 0; $i < $num; $i++){
    $id[$i] = $valores[$i];
    
}
 
Tengo una pregunta muchachos, cuando se crea una clase como hay que guardarla??? Ej: la clase cliente. se guarda como cliente.inc o por ahí vi otra forma: class.cliente.php. Como se debe guardar??? Gracias
 
Tengo una pregunta muchachos, cuando se crea una clase como hay que guardarla??? Ej: la clase cliente. se guarda como cliente.inc o por ahí vi otra forma: class.cliente.php. Como se debe guardar??? Gracias

lo mejor es que lo nombres el nombre de tu clase, la palabra reservada class para diferenciarlo que es una clase y seguido la extendion php...

ejemplo:

Persona.class.php
 

Los últimos temas