Cześć,
chciałbym zrobić pewną rzecz. Jak to ma wyglądać? W bazie danych mam stworzną tabelę limits
a w niej kolumnę
limit_photos` oraz stworzony rekord z wpisem do tej kolumny np. 10. Czyli ustawiam limit dodanych zdjęć do produktu na 10.
Póki co wstawianie zdjęcia u mnie odbwa się poprzez wprowadzenie linku bezpośredniego ze ścieżką do pliku, np. img/photos/add/photo.png
Aktualnie pobieram z bazy danych maksymalną ilość produktów z w/w tabeli i w pętli tworzę tyle inputów(pól tekstowych HTML).
Chciałbym, żeby to działało w ten sposób, że wszystkie inputy posiadają atrybut DISABLED
czyli są zablokowane. Tylko pierwszy input nie posiada tego atrybutu. I teraz tak: chodzi o to, żeby jeśli zostanie wprowadzona ścieżka do pliku(zgodna z jakimś tam wyrażeniem regularnym) to, żeby z następnego inputa usunięty został atrybut DISABLED
.
Na pewno musiałbym użyć JavaScript, to nie problem tylko nie do końca wiem ja się za to zabrać.
To jest cały aktualny kod w pliku testowym(normalnie mam podzielone warstwy ale dla celów prezentacji przedstawiam to w formie "wszystko w jednym")
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
<title>Loop Inputs</title>
<style>
body { font-family: 'Lato', sans-serif; }
</style>
</head>
<body>
<?php
try{
$db = new PDO('mysql:host=localhost;dbname=my_database', 'my_user', 'my_password',array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
}catch (PDOException $e){
echo 'Error to connect: '.$e->getLimitsMessage().'';
die();
}
?>
<?php
$sql = $db->prepare("SELECT `limit_photos` FROM `limits`");
if (!$sql->execute()) {
print_r($sql->errorInfo());
}else{
$getLimits = $sql->fetch();
$sql = $getLimits['limit_photos'];
}
?>
<?php
for ($i=0; $i < $getLimits['limit_photos']; $i++) {
if($i == 0){
echo '<p><input type="text" name="'.$i.'" placeholder="'.$i.'"/></p>';
}else{
echo '<p><input disabled type="text" name="'.$i.'" placeholder="'.$i.'"/></p>';
}
}
?>
</body>
</html>
Ma ktoś jakiś pomysł jak to zrobić?