如果无法创建两个相同名称的记录,将无法正常工作,您可以创建一个具有重复名称的记录
这是控制器
include_once 'model/solucion.php';
public function Guardar()
{
$this->model->Duplicado($_POST['Nombre']);
$name = $this->model->resultado2['Nombre'];
if($name == $_POST['Nombre']){
die("No se puede crear una solucion con el mismo nombre");
}else{
$solucion = new solucion();
$solucion->id = $_REQUEST['id'];
$solucion->Nombre = $_REQUEST['Nombre'];
$solucion->Tipo = $_REQUEST['Tipo'];
$solucion->Descripcion = $_REQUEST['Descripcion'];
$solucion->Pagina = $_FILES['Pagina']['name'];
}
header("Location: index.php");
}
这是模型
public $resultado2;
public function Duplicado($Nombre)
{
try {
$stm = $this->pdo->prepare("SELECT * FROM fallas WHERE Nombre = '$Nombre'");
$stm->execute();
$res=$stm->fetch(PDO::FETCH_ASSOC);
$this->resultado2 = array();
$i = 0;
foreach ($res as $row)
{
$this->resultado2[$i]['id'] = $row['id'];
$this->resultado2[$i]['Nombre'] = $row['Nombre'];
$this->resultado2[$i]['Tipo'] = $row['Tipo'];
$this->resultado2[$i]['Descripcion'] = $row['Descripcion'];
$this->resultado2[$i]['Pagina'] = $row['Pagina'];
$i++;
}
} catch (Exception $ex) {
die($e->getMessage());
}
}
这是视图
<ol class="breadcrumb">
<li><a href="?c=solucion&a=Paginar">Inicio</a></li>
<li class="active"><?php echo $solucion->id != null ?
$solucion->Nombre : 'Nueva Solución'; ?></li>
</ol>
<form id="frm-alumno" action="?c=solucion&a=Guardar" method="post" enctype="multipart/form-data">
<input type="hidden" name="id" value="<?php echo $solucion->id; ?>" />
<div class="form-group">
<label>Nombre</label>
<input type="text" name="Nombre" value="<?php echo $solucion->Nombre; ?>" class="form-control" placeholder="Ingrese su nombre" required>
</div>
<div class="form-group">
<label for="exampleFormControlSelect1">Tipo de fallo</label>
<select class="form-control" id="exampleFormControlSelect1" name="Tipo" value="<?php echo $solucion->Tipo; ?>">
<option value="software">software</option>
<option value="hardware">hardware</option>
<option value="red">red</option>
</select>
</div>
<div class="form-group">
<label>Descripcion</label>
<textarea type="text" name="Descripcion" value="<?php echo $solucion->Descripcion; ?>" class="form-control" rows="10" cols="40" required>
</textarea>
</div>
<div class="form-group">
<label>Pagina.php</label>
<input type="file" name="Pagina" value="<?php echo $solucion->Pagina; ?>" >
</div>
<div class="form-group">
<label >Imagenes</label>
<input type="file" class="form-control" id="archivo[]" name="archivo[]" multiple="" >
</div>
<hr />
<br>
<div class="text-right">
<button class="btn btn-success">Guardar</button>
</div>
为了避免创建具有相同名称的重复记录,我必须在控制器中进行哪些更改?
答案 0 :(得分:0)
您需要传递数组并检查它是否为空。检查下面的代码并运行它,让我知道是否出现任何错误。
Id Param1 Param2 Val1 Max_Val1_for_each_Id
1 -5.00138282776 2.04990620034e-08 1.738e-05 1.738e-05
1 -4.80147838593 2.01516989762e-08 1.628e-05
1 -4.60159301758 1.98263165885e-08 1.671e-05
1 -4.40133094788 1.94918392538e-08 1.576e-05
1 -4.20143127441 1.91767686175e-08
2 -5.00141859055 6.88369405921e-09 5.512e-06 5.964e-06
2 -4.80152130126 6.77335965093e-09 5.964e-06
2 -4.60163593292 6.65415056389e-09
3 -5.00138044357 1.16316911658e-08 4.008e-06 8.446e-06
3 -4.80148792267 1.15515588206e-08 7.347e-06
3 -4.60160970681 1.14048361866e-08 8.446e-06
3 -4.40137386322 1.12357021465e-08