Codeigniter 4🔥 [22.- Segmentos de url]
En este tutorial vamos a trabajar con los segmentos y es tan facil como esto: http://localhost/ci4/micontrolador/editar/11 Donde : micontrolador es el segmento1 editar es el segmento2 11 es el segmento3 Y asi de facil Codigo en Github.com: https://github.com/programadornovato/codeigniter4/commit/e6dac919694f0f76889f8553b0a1979264aa7325
//app/Controllers/Micontrolador.php
<?php namespace App\Controllers;
use CodeIgniter\Controller;
use App\Models\UserModel;
class Micontrolador extends BaseController
{
public function __construct(){
helper('form');
}
public function guarda(){
$userModel=new UserModel($db);
$request= \Config\Services::request();
$data=array(
'name'=>$request->getPostGet('name'),
'email'=>$request->getPostGet('email'),
);
if($request->getPostGet('id')){
$data['id']=$request->getPostGet('id');
}
if($userModel->save($data)===false){
var_dump($userModel->errors());
}
if($request->getPostGet('id')){
$users=$userModel->find([$request->getPostGet('id')]);
$users=array('users'=>$users);
$estructura=view('estructura/header').view('estructura/formulario',$users);
}
else{
$users=$userModel->findAll();
$users=array('users'=>$users);
$estructura=view('estructura/header').view('estructura/body',$users);
}
return $estructura;
}
public function editar(){
$userModel=new UserModel($db);
$request= \Config\Services::request();
if($request->getPostGet('id')){
$id=$request->getPostGet('id');
}else{
$id=$request->uri->getSegment(3);
}
$users=$userModel->find([$id]);
$users=array('users'=>$users);
$estructura=view('estructura/header').view('estructura/formulario',$users);
return $estructura;
}
public function borrar(){
$userModel=new UserModel($db);
$request= \Config\Services::request();
if($request->getPostGet('id')){
$id=$request->getPostGet('id');
}else{
$id=$request->uri->getSegment(3);
}
$userModel->delete($id);
$users=$userModel->findAll();
$users=array('users'=>$users);
$estructura=view('estructura/header').view('estructura/body',$users);
return $estructura;
}
public function formulario(){
$estructura=view('estructura/header').view('estructura/formulario');
return $estructura;
}
public function index()
{
$userModel=new UserModel($db);
//$users=$userModel->find([1,2]);
//$users=$userModel->findAll();
//$users=$userModel->where('name','maria')->findAll();
//$users=$userModel->findAll(2,3);
//$users=$userModel->withDeleted()->findAll();
/*
$data=[
'name'=>"programador1",
'email'=>"[email protected]"
];
$userModel->insert($data);
$data=[
'name'=>"programador2",
'email'=>"[email protected]"
];
$userModel->update(10,$data);
$data=[
'name'=>"yo"
];
$userModel->update([2,3],$data);
$userModel->whereIn('id',[4,5,10])
->set(['name'=>'yo tambien'])
->update();
$data=[
'name'=>"programador11",
'email'=>"[email protected]"
];
$userModel->save($data);
$data=[
'id'=>"12",
'name'=>"programador yo tambien",
'email'=>"[email protected]"
];
$userModel->save($data);
*/
//$userModel->delete([2,4,5]);
//$userModel->where('id',10)->delete();
//$userModel->purgeDeleted();
/*
$data=[
'name'=>"programadorvalido nuevo 2",
'email'=>"[email protected]"
];
if($userModel->save($data)===false){
var_dump($userModel->errors());
}
*/
/*
$users=$userModel->asArray()->where('name','programador11')
->orderBy('id','asc')
->findAll();
var_dump($users);
*/
$users=$userModel->findAll();
$users=array('users'=>$users);
$estructura=view('estructura/header').view('estructura/body',$users);
return $estructura;
}
//--------------------------------------------------------------------
}
//app/Views/estructura/body.php
<body>
<div class="container">
<div class="row">
<a href="<?php echo base_url(); ?>nuevo" class="btn btn-info" role="button" >Nuevo</a>
</div>
<div class="row">
<table class="table">
<tr>
<th scope="col">id</th>
<th scope="col">name</th>
<th scope="col">email</th>
<th scope="col">deleted</th>
<th scope="col">acciones</th>
</tr>
<?php
foreach($users as $user){
echo "<tr scope='row' >";
echo "<td>".$user['id']."</td>";
echo "<td>".$user['name']."</td>";
echo "<td>".$user['email']."</td>";
echo "<td>".$user['deleted']."</td>";
echo "<td>";
?>
<a href="<?php echo base_url(); ?>micontrolador/editar/<?php echo $user['id']; ?>" class="btn btn-warning" role="button" ><i class="fa fa-pencil-square-o"></i></a>
<a href="<?php echo base_url(); ?>micontrolador/borrar/<?php echo $user['id']; ?>" class="btn btn-danger" role="button" ><i class="fa fa-trash"></i></a>
<?php
echo "</td>";
echo "</tr>";
}
?>
</table>
</div>
</div>
</body>
</html>
//app/Views/estructura/formulario.php
<div class="container">
<?php
echo form_open('/Micontrolador/guarda');
if(isset($users)){
$name=$users[0]['name'];
$email=$users[0]['email'];
}
else{
$name="";
$email="";
}
?>
<div class="form-group">
<?php
echo form_label('Nombre','name');
echo form_input(array('name'=>'name','placeholder'=>'Nombre','class'=>'form-control','value'=>$name));
echo "<br>";
echo form_label('Email','email');
echo form_input(array('name'=>'email','placeholder'=>'Email','class'=>'form-control','value'=>$email));
echo "<br>";
echo form_submit('guarda','Guardar','class="btn btn-primary"');
?>
<a href="http://localhost/ci4/" class="btn btn-warning" role="button">Cancelar</a>
<?php
if(isset($users)){
echo form_hidden('id',$users[0]['id']);
}
?>
</div>
<?php
echo form_close();
?>
</div>
Guia oficial codeigniter: https://codeigniter4.github.io/userguide/libraries/uri.html?highlight=segment
#Codeigniter4 #php7 #backend #Codeigniter #php .
? Esta lista de reproducción: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTFN5TDeOP-wP_hU0_9VoWg
.
Codigos en gdrive: https://drive.google.com/file/d/1awbG6jI40IO0N68fgjLUwNFpsTC3wIHj/view?usp=sharing .
Gracias por apoyar este canal: https://www.patreon.com/programadornovato?fan_landing=true .
? Facebook: https://facebook.com/ProgramadorNovatoOficial
? Twitter: https://twitter.com/programadornova
? Linkedin: https://www.linkedin.com/in/programadornovato/
? Instagram: https://www.instagram.com/programadornovato/